在 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)。此时,i2,条件失败导致循环终止。