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("\n%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("\n%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\n",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来结束循环\n");
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()函数之前\n“);
21 print();
22 printf("调用函数之后\n");//发现此时并没有打印出这一句 说明直接结束了进程
23 return;
24 }