gpt4 book ai didi

c - while 循环后的值与后增量

转载 作者:行者123 更新时间:2023-12-04 09:34:59 25 4
gpt4 key购买 nike

请解释为什么最后一个 printf 给出值 11?我真的不明白为什么会这样。当 a = 10 时,条件不满足,为什么这个值变成了 11?一检查条件就增加?

代码:

int main(void) {
int a = 0;
while(a++ < 10){
printf("%d ", a);
}
printf("\n%d ", a);
return 0;
}

输出:

1 2 3 4 5 6 7 8 9 10 
11

最佳答案

让我们看看a++ < 10什么时候a等于10 .

首先会发生的事情是10 < 10将被评估(为假),然后 a将增加到 11 .那么你的printf while 之外的声明循环执行。

++出现在变量的右侧,它是该行最后计算的东西。

尝试更改 a++ < 10++a < 10 ,重新运行您的代码,并比较结果。

关于c - while 循环后的值与后增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29579739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com