大孟先觉
2017-04-07 10:57
#include<stdio.h> int main() { int i; for(i=1;i<=10;i++) { printf("运球%d次\n",i); if(i==5){ printf("去接个电话\n"); continue; } } printf("今天的训练到此结束。"); return 0; }
运行结果:
运球1次
运球2次
运球3次
运球4次
运球5次
去接个电话
运球6次
运球7次
运球8次
运球9次
运球10次
今天的训练到此结束
i==5时,显示去接个电话然后不是应该跳出循环再继续吗?为什么还有显示运球5次
printf("运球%d次\n",i); 因为这句话写在if语句前面,每次循环都会打印这句话。
continue是跳出本次循环,不会执行后面的语句,但是continue前面的语句还是会执行的.
printf("运球%d次\n",i);在if(i==5)前面,它会执行,感觉这里的continue并没有什么作用【因为有没有它都会执行下一次的for循环】,反例,如果for循环是这样的:
for(i=1;i<=10;i++)
{
printf("运球%d次\n",i);
if(i==5)
{
printf("去接个电话\n");
continue;
}
printf(“球进了!\n”)
}
那么整体的输出应该是:
运球一次
球进了!
运球两次
球进了!
......
运球五次
去接个电话
运球六次
球进了!
运球七次
球进了!
......
运球十次
今天的训练到此结束
不知道你能明白不
这里的printf("运球%d次")在if的前面,所以不管是哪次循环都会有这段文字;
而下面if的后面可以看作是在第五次运球新增加的彩蛋,事实上在这里continue没有任何的用处,因为在for循环中continue下面没有任何的运算了,continue是最后一句。而continue的作用是在遇到它时 在此时结束i=5的循环(结束之前的还是要运算),进入i=6的循环也就是说continue是为了跳过在包含continue的最小的for循环中continue后面的语句。
不知道我这样说清楚了没有
continue:结束本次循环并进行下一次。
break:跳出当前循环。
好好看文档啊少年!!!
cuntinue是跳出一层循环 例子中就是i=5时 跳出这一层循环 如果是break 那就运球6次以后的不会输出了
C语言入门
926020 学习 · 20793 问题
相似问题