我正在学习和摆弄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)
条件。在这一点上,i
2
和失败导致循环终止条件。