请看下面两个示例
例1 break:
int main(void)
{
char c;
int i;
for(i=1;i<10;i++) //i<10循环继续的条件
{c=getchar();
if(c=='\n'); //终止条件
break; //break前面一定要有个判断条件,当条件满足,跳出循环(如果在内循环内只能跳出内循环,而不能跳出外循环)
putchar(c);
}
}
输入 aaa回车aaaa回车aaa
结果 aaa
例2 continue:
int main(void)
{
char c;
int i;
for(i=1;i<10;i++) //i<10循环继续的条件
{c=getchar();
if(c=='\n'); //终止条件
continue; //continue只是满足条件后面的语句不执行,重新判断表达式
putchar(c);
}
}
同样输入 aaa回车aaaa回车aaa
结果是 aaaaaaaa
分析:
因为条件i<10所以 getchar(c)肯定是要输入10个字符(包括换行符),前面输入aaa都没问题当输入“回车”时getchar也完全可以认可这个字符是合法的,但是后面有个if(c=='\n')conrinue,意思是当 输入的字符是回车那么就把continue后面的语句不执行,后面是什么呢,putchar输出,所以我们只能看到aaa,回车被屏蔽了,注意虽然回车被屏蔽,但是实际上他依然算被执行一次,以此类推 最后的结果就是 aaaaaaaa 因为中间有2个回车字符 如果没有continue呢 结果是 aaa aaaa a 此时回车会明显的显示出来 |