【发布时间】:2017-08-31 00:45:35
【问题描述】:
我正在尝试转换以下 for 循环
for( x = 1; x <= 10; x++ ){
if( x == 5 ){
continue;
}
printf("%d ", x);
}
进入一个while循环。但是,以下对我来说似乎合理的代码没有正确执行:
int x = 1;
while( x <= 10 ){
if( x == 5){
continue;
}
printf("%d ", x);
x++;
}
为什么会这样?
提前致谢。
【问题讨论】:
-
你确定你的 for 循环是正确的吗?最后的
x++;在我看来非常可疑 -
@carcigenicate,这只是我的一个错字。我现在已经修好了。在原文中,我有 if 语句。谢谢。
-
你的 for 循环每次迭代都会增加 x 两次,而你的 while 循环不会。
-
@Amadeus 感谢您指出这一点。这也是一个错字。
-
你的 while 循环永远不会结束。当 x == 5 你永远继续,因为你永远不会增加它。 ideone.com/B2eLwo
标签: c for-loop while-loop