gpt4 book ai didi

c - 根据优先级,后缀增量的优先级高于 <= 为什么我得到输出为 5

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:18 25 4
gpt4 key购买 nike

根据优先级,后缀增量的优先级高于<=
所以当我运行这个程序时,为什么我得到的输出为 5?

Example
相反,它应该执行为
当a=1
检查 While 条件 1++<=1
检查 While 条件 2++<=2
然后 printf 应该打印 3

#include <stdio.h>

int main()
{
int a=1;
while(a++<=1)
while(a++<=2);
printf("%d",a);
return 0;
}

最佳答案

这更多地与后缀 operator++ 的语义有关比优先级。

1) 检查外部 while 条件 1++<=1 . LHS 的计算结果为 1 , 所以我们进入内部 while . a增加到 2 .

2) 检查内部 while 条件 2++<=2 . LHS 的计算结果为 2 ,条件满足。 a增加到 3 .

3) 检查内部 while 条件 3++<=2 . LHS 的计算结果为 3 ,条件不满足,a增加到 4 .我们回到外循环。

4) 检查外环条件4++ <= 1 .这失败了,循环结束,a增加到 5 .

关于c - 根据优先级,后缀增量的优先级高于 <= 为什么我得到输出为 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703941/

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