C语言 在Do while循环中递增数的问题



我正在学习和摆弄C编程语言。不幸的是,在学习和玩的延伸的循环,我困惑。我编写并运行了一个程序,在条件I <=100的情况下,将一个变量从1增加到100;代码成功运行,但是当我将do-while循环的条件更改为I ==100时,输出使我感到困惑,因为在控制台上只打印1。请帮助。

下面的代码给出了预期的输出。

#include<stdio.h>
int main(){
int i=1;
do{
printf("n%dn",i);
++i;
} while(i<=100);
}

下面的代码给出输出1。

#include<stdio.h>
int main(){
int i=1;
do{
printf("n%dn",i);
++i;
} while(i==100);
}

谢谢。

第二个循环如果i == 100。在第一次迭代时,它不是真值(因为i == 1),并且循环退出。

do-while循环总是执行一次,然后检查条件是否为真。如果条件为真,循环再次执行,然后检查条件。

在您的示例中,强制的第一次传递打印i的值,然后将其加1。接下来,检查while(i==100)条件。在这一点上,i2和失败导致循环终止条件。

最新更新