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

来源:4-15 结束语句之continue语句

大孟先觉

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次

写回答 关注

5回答

  • 慕少1559731
    2017-10-10 14:19:20

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

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

  • 雾嶋云淇
    2017-08-10 21:38:15

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

        }

    那么整体的输出应该是:

    运球一次

    球进了!

    运球两次

    球进了!

    ......

    运球五次

    去接个电话

    运球六次

    球进了!

    运球七次

    球进了!

    ......

    运球十次

    今天的训练到此结束

    不知道你能明白不


  • 奇怪的阿怪
    2017-07-23 23:32:58

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

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

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

  • 呀飞呀飞呀飞
    2017-04-07 11:46:43

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

    break:跳出当前循环。

    好好看文档啊少年!!!

    大孟先觉

    不是这个意思啊,我是说道运球第五次的时候不是有函数输出值吗? 按照我的理解就是运行结果里 运球3次 运球4次 去接个电话 运球6次 这个意思啊 能帮忙解释一下嘛?

    2017-06-08 14:16:02

    共 1 条回复 >

  • 慕粉3978467
    2017-04-07 11:31:00

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

    大孟先觉

    不是这个意思啊,我是说道运球第五次的时候不是有函数输出值吗? 按照我的理解就是运行结果里 运球3次 运球4次 去接个电话 运球6次 这个意思啊 能帮忙解释一下嘛?

    2017-06-08 14:15:23

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题