在 Do while 循环中增加数字的问题
Issue in incrementing numbers in Do while loop
我正在学习和修改 C 编程语言。不幸的是,在学习和玩 do-while 循环时,我很困惑。我编写了 运行 一个程序,在条件 i<=100 的情况下将变量从 1 递增到 100;代码 运行 成功,但是当我将 do-while 循环的条件更改为 i==100 时,输出让我感到困惑,因为控制台上只打印了 1。请帮忙
下面的代码给出了预期的输出。
#include<stdio.h>
int main(){
int i=1;
do{
printf("\n%d\n",i);
++i;
} while(i<=100);
}
下面的代码给出了输出 1。
#include<stdio.h>
int main(){
int i=1;
do{
printf("\n%d\n",i);
++i;
} while(i==100);
}
谢谢。
第二个循环如果 i == 100
。在第一次迭代和循环退出时,这不是事实(因为 i == 1)。
do-while
循环总是执行一次,然后检查条件是否成立。如果条件为真,则循环再次执行,然后检查条件。
在你的例子中,强制性的第一遍打印 i
的值,然后递增它。接下来,检查条件 while(i==100)
。此时,i
为2
,条件失败导致循环终止。
我正在学习和修改 C 编程语言。不幸的是,在学习和玩 do-while 循环时,我很困惑。我编写了 运行 一个程序,在条件 i<=100 的情况下将变量从 1 递增到 100;代码 运行 成功,但是当我将 do-while 循环的条件更改为 i==100 时,输出让我感到困惑,因为控制台上只打印了 1。请帮忙
下面的代码给出了预期的输出。
#include<stdio.h>
int main(){
int i=1;
do{
printf("\n%d\n",i);
++i;
} while(i<=100);
}
下面的代码给出了输出 1。
#include<stdio.h>
int main(){
int i=1;
do{
printf("\n%d\n",i);
++i;
} while(i==100);
}
谢谢。
第二个循环如果 i == 100
。在第一次迭代和循环退出时,这不是事实(因为 i == 1)。
do-while
循环总是执行一次,然后检查条件是否成立。如果条件为真,则循环再次执行,然后检查条件。
在你的例子中,强制性的第一遍打印 i
的值,然后递增它。接下来,检查条件 while(i==100)
。此时,i
为2
,条件失败导致循环终止。