C语言continue疑问
main(){
int i;
for (i = 1; i < 10;i++)
{
if((i%2) == 1 )
{
printf("I'm rather odd...\n");
continue;
}
printf("Even up! \n");
}
return 0;
}
代码摘自书本,鄙人对continue 的含义有些不理解;
没有 else 语句 他是如何执行 printf("Even up! \n");
这个很简单了。。。判断后如果不是就继续执行以后的语句,判断语句自然结束,不需要else continue 的意思是跳过这个循环的剩余语句,并且设置下次循环条件为真,直接进入下一次循环。这里,第一次continue 之后执行下次循环 if((i%2) == 1 )了。
对应的break是跳过循环的剩余语句,并且设置下次循环为假,就是完全跳出这次for,执行return 0;了 本帖最后由 Ansifa 于 2012-8-4 10:30 编辑
if((i%2) == 1 )
{
printf("I'm rather odd...\n");
continue;
}
printf("Even up! \n"); <-----靠continue; 来做else,跳过Even up! 迷你强 发表于 2012-8-4 10:08 static/image/common/back.gif
这个很简单了。。。判断后如果不是就继续执行以后的语句,判断语句自然结束,不需要else
1/2 余1 如何就执行 printf("I'm rather odd...\n");然后一个continue 就让循环继续下去
2/2 余0 不是余1 然后一个continue 就执行 printf("Even up! \n");
是不是可以这样理解 本帖最后由 毛毛虫 于 2012-8-4 10:18 编辑
Ansifa 发表于 2012-8-4 10:10 static/image/common/back.gif
continue 的意思是跳过这个循环的剩余语句,并且设置下次循环条件为真,直接进入下一次循环。这里,第一次c ...
对这个跳过剩余语句 我就是很不理解
以我这段为例哪段是剩余语句 for (i = 1; i < 10;i++)
{
if((i%2) == 1 )
{
printf("I'm rather odd...\n");
continue;
}
printf("Even up! \n"); -----continue是跳过指它所在的最内层循环,就是这个for。所以剩余语句就是这句continue以后,for之内的语句
} ;P 其实你把这段执行一次然后看输出就很清楚啦~ 就是直接执行下一次for循环去了 Alexie 发表于 2012-8-4 10:29 static/image/common/back.gif
其实你把这段执行一次然后看输出就很清楚啦~ 就是直接执行下一次for循环去了
速度太快 看不清楚啦 毛毛虫 发表于 2012-8-4 10:32 static/image/common/back.gif
速度太快 看不清楚啦
加入延时呗 毛毛虫 发表于 2012-8-4 10:32 static/image/common/back.gif
速度太快 看不清楚啦
delay(1000); 大体上 有些了解了 谢谢各位
页:
[1]