为了账号安全,请及时绑定邮箱和手机立即绑定

实例中i=5时,不是应该跳出循环码?为很么还有运球5次

#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次

正在回答

5 回答

printf("运球%d次\n",i);   因为这句话写在if语句前面,每次循环都会打印这句话。

continue是跳出本次循环,不会执行后面的语句,但是continue前面的语句还是会执行的.

0 回复 有任何疑惑可以回复我~

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”)

    }

那么整体的输出应该是:

运球一次

球进了!

运球两次

球进了!

......

运球五次

去接个电话

运球六次

球进了!

运球七次

球进了!

......

运球十次

今天的训练到此结束

不知道你能明白不


0 回复 有任何疑惑可以回复我~

这里的printf("运球%d次")在if的前面,所以不管是哪次循环都会有这段文字;

而下面if的后面可以看作是在第五次运球新增加的彩蛋,事实上在这里continue没有任何的用处,因为在for循环中continue下面没有任何的运算了,continue是最后一句。而continue的作用是在遇到它时 在此时结束i=5的循环(结束之前的还是要运算),进入i=6的循环也就是说continue是为了跳过在包含continue的最小的for循环中continue后面的语句。

不知道我这样说清楚了没有

1 回复 有任何疑惑可以回复我~

continue:结束本次循环并进行下一次。

break:跳出当前循环。

好好看文档啊少年!!!

0 回复 有任何疑惑可以回复我~
#1

大孟先觉 提问者

不是这个意思啊,我是说道运球第五次的时候不是有函数输出值吗? 按照我的理解就是运行结果里 运球3次 运球4次 去接个电话 运球6次 这个意思啊 能帮忙解释一下嘛?
2017-06-08 回复 有任何疑惑可以回复我~

cuntinue是跳出一层循环 例子中就是i=5时 跳出这一层循环 如果是break 那就运球6次以后的不会输出了

1 回复 有任何疑惑可以回复我~
#1

大孟先觉 提问者

不是这个意思啊,我是说道运球第五次的时候不是有函数输出值吗? 按照我的理解就是运行结果里 运球3次 运球4次 去接个电话 运球6次 这个意思啊 能帮忙解释一下嘛?
2017-06-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

实例中i=5时,不是应该跳出循环码?为很么还有运球5次

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信