大孟先觉
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语言入门
928135 学习 · 21543 问题
相似问题