标签:
现在越来越发现自己之前都白学了,都快毕业了,却连最基础的C语言都忘干净了!赶紧恶补吧!!
简单来说break就是跳出当前循环体(或switch)结束循环,然后执行循环下面的语句,而continue是结束本次循环,不执行循环体下面尚未执行的语句,接着进行下次是否进行循环的判断。
书上专业的理解是:break语句可以从最内层的循环或者switch语句中退出。continue语句只能出现在for, while, do循环中。(感觉好像没理解,还是看例子吧)
#include <stdio.h> int main(void) { int flag=0; for(int j=0; j <2; j++) { if(j==0) { switch(j) { case 0: continue; } flag=1; } } printf( " flag:%d\n ",flag); }
输出flag:0 将continue换成break;则输出flag:1
#include <stdio.h> void main() { int flag = 0; int j = 0 ; for(j=0; j <2; j++) { if(j==0) { if(j==0) { continue; } flag=1; } } printf( " flag:%d\n ",flag); }
没有 switch 则break只对循环体起作用了,所以break与continue的结果都是 flag:0
再来一个switch的例子,就不信还会忘!
#include <stdio.h> #include <string.h> int main() { char i; for(i=0;i<5;i++){ switch(i){ case 0: printf("i=%d\n",i);break; case 1: printf("i=%d\n",i);break; case 2: printf("i=%d\n",i);continue;printf("ok\n"); case 3: printf("i=%d\n",i);break; default: printf("errp\n"); } printf("lalala\n"); } getch(); }
结果中continue后的ok和lalala都没有输出,而break输出了。
标签:
原文地址:http://www.cnblogs.com/saraline/p/4478615.html