c语言中break continue goto return和exit的区别 联系(筛选奇数和goto求和)

break

一般你是用于循环和switch语句中,执行break,退出循环,如果是多层循环,那么退出的当前的循环。

如果循环结构中有switch语句,而switch语句中有break

那么不会直接退出循环 而是退出的是switch语句。

continue

仅仅是结束本次循环

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 //打印所有奇数
 5 void main2()
 6 {
 7     int i;
 8     for(i=0;i<1000;i++)
 9     {
10         if(i%2==0)
11         {
12             continue;//结束一次循环
13             //break;//结束整个循环 在这直接执行system("pause")
14         }
15 
16         printf("
%d",i);
17 
18     }
19 
20     system("pause");
21 }
22 
23 //选择100-200之间不能被3整除的
24 void main4645()
25 {
26     int i;
27     for(i=100;i<200;i++)
28     {
29         if(i%3==0)
30         {
31             continue;
32         }
33         printf("
%d",i);
34     }
35     system("pause");
36 }

goto

无条件转移语句 只是在函数内部进行转移

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6    int Inum = 0;
 7    int Isum = 0;
 8    loop:
 9        Isum = Isum + Inum;
10        Inum++;
11        if(Inum<100)
12        {
13            goto loop;
14        }
15        printf("使用goto语句建立循环求得的sum=%d
",Isum);
16     return 0;
17 }

return

退出函数的执行 返回到函数的

调用处 如果是main函数 则结束整个程序

exit

其实return只有在main函数的时候就和exit()有着相同的作用。当exit函数为0的时候表示正常的退出,意味着进程的结束。

 1 #include <stdio.h>
 2 
 3 void print()
 4 {
 5       int n = 0;
 6      printf("使用exit来结束循环
");
 7      while(1)
 8      {
 9          if(9==n)
10            {
11                 exit(1);
12             }
13        }        
14      return;
15 }             
16 
17 void main()
18 {
19     int ret;
20     printf("调用printf()函数之前
“);
21     print();
22     printf("调用函数之后
");//发现此时并没有打印出这一句  说明直接结束了进程
23     return;
24 }       
原文地址:https://www.cnblogs.com/lanjianhappy/p/6044045.html