sususususu 发表于 2022-11-7 17:45:55

循环问题,萌新求教

阅读下面程序,则执行后程序的结果为            。

#include <stdio.h>

void main()

{ inta=0, b=0;

while(a<15)

a++;

while(b++<15);

printf("%d,%d\n", a, b);                        

}


   为什么a=15,b=16

jhq999 发表于 2022-11-8 09:41:01

因为a是自增完了比较,b是比较完了自增

两手空空儿 发表于 2022-11-8 10:52:25

while(b++<15);
这一句不管比较的结果是什么也阻挡不了b++的脚步
它是一个复合语句,可以拆分成如下的句子:
while(b < 15) {
}
b++;
拓展一下while(--b > 15);可以拆分成如下的句子
b--;
while( b > 15){
}

homeskating 发表于 2022-11-8 11:18:53

a++先比后增,b++先增后比
页: [1]
查看完整版本: 循环问题,萌新求教