山狐
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语句之后加上其他动作来尝试。
以上是本人在学习过程中发现的一些小问题,如果有错误还请大家不吝谈教。。。
emmmm continue前面两//是不是变成注释了
有道理,我觉得你说的没错起临时舍去的意义,我也是新手哈刚学到这块,希望能有大佬解答解答
这是我的看法,不一定对,希望对你有帮助。
汉语部分看不懂,但是if不是循环语句for是还有do-while是。能被3整除(i%3==0)
C语言入门
926028 学习 · 20793 问题
相似问题