关于continue循环上,例程代表性不足

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

山狐

2019-01-29 21:36

#include <stdio.h>

int main()

{

    int i ;

    for(i=1 ; i<=10; i++)

    {

        printf("1111%d\n",i);

        if(     i==5    )    //能被3整除这个条件如何写呢?

        {

            printf("中断\n");

            //continue;             //应该用哪个循环结束语句呢?

        }                  

        

    }

    printf("sum");

    return 0;    

}

以上是我根据例程的模式自己改成的代码,可以看到,无论使用continue还是不使用,其输出一致:

因为例程上的if语句在for循环之内,并且其判定是当i==5,我们尝试模拟一下程序流程就能发现其中问题:当程序走到i==5时首先进行进行for循环中第一个printf显示,再之后进行if语句判定,判定结果为“1”,进入if语句第二个printf,在此之后跳出当前循环也就是“continue”,也就是结束当前循环,进入下一循环,但continue之后并没有其他语句,这就是问题所在。我们尝试把“continue”去掉,可以发现由于continue之后并没有其他语句,所以当if判定、第二个printf完成之后依然是继续下一次循环。个人认为如果要使得continue具有实际意义那么应该是当需要临时中断某一次动作时,或此次循环中的语句单独有某一作用时使用,简单来说就是在continue语句是用来使接下来一次(多次)动作改变或舍去时使用的,大家可以尝试把第一个printf语句放在if判定之后,或在if语句之后加上其他动作来尝试。

以上是本人在学习过程中发现的一些小问题,如果有错误还请大家不吝谈教。。。


写回答 关注

4回答

  • 废寝忘食陈同学
    2019-07-24 13:57:18

    emmmm    continue前面两//是不是变成注释了

  • 慕UI7253451
    2019-04-17 20:16:16

    有道理,我觉得你说的没错起临时舍去的意义,我也是新手哈刚学到这块,希望能有大佬解答解答

  • qq_慕瓜5506141
    2019-01-29 22:52:20

    这是我的看法,不一定对,希望对你有帮助。


  • qq_慕瓜5506141
    2019-01-29 22:51:07

    汉语部分看不懂,但是if不是循环语句for是还有do-while是。能被3整除(i%3==0)

    山狐

    后面的注释是我编程的时候忘记删了,我上面的和例程差不多,我的意思是例程上的continue有没有一个样

    2019-01-30 09:46:58

    共 1 条回复 >

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题