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

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

#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 回答

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

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

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

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

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


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

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

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

山狐 提问者

后面的注释是我编程的时候忘记删了,我上面的和例程差不多,我的意思是例程上的continue有没有一个样
2019-01-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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