C语言do-while循环修改判断条件后仅输出1的问题求助
问题解答
- do-while循环的执行顺序固定为先执行循环体代码,再做条件判断,只要条件判断结果为真才会进入下一轮循环,条件为假则直接终止循环。
第一段代码(正常输出1~100)运行逻辑
#include<stdio.h> int main(){ int i=1; do{ printf("\n%d\n",i); ++i; } while(i<=100); }
运行流程:
- i初始值为1,先执行循环体:输出1,i自增为2
- 判断
i<=100,2<=100结果为真,继续执行循环体 - 重复上述步骤,直到i自增到101时,判断
101<=100结果为假,循环终止,刚好输出1到100的所有数值。
第二段代码(仅输出1)运行逻辑
#include<stdio.h> int main(){ int i=1; do{ printf("\n%d\n",i); ++i; } while(i==100); }
运行流程:
- i初始值为1,先执行第一次循环体:输出1,i自增为2
- 判断
i==100,2和100不相等,判断结果为假,循环直接终止 - 没有后续循环执行,因此控制台仅输出1。
内容的提问来源于stack exchange,提问作者peacelover007
相关产品推荐
相关产品推荐

