gpt4 book ai didi

c - a>b>c 当每个都有数值时进行评估

转载 作者:行者123 更新时间:2023-11-30 18:20:17 25 4
gpt4 key购买 nike

我遇到了一道竞争性的 C 题,内容如下:

查找输出:

#include <stdio.h>
int main(void) {
int a=5, b=10, c=5;
int x;
x = a>b>c;
printf("%d\n", x);
return 0;
}

编译器响应0。

我的解释是,这也许是从右到左评估的副作用。我的猜测是,首先b>c被评估(假设它首先被插入堆栈,我在这里很困惑,因为我确实知道>的从左到右关联性),其评估结果为true。这个真实变量的值,是一个> 0的数字(我们不知道),a > that_value被评估,产生结果。不过我可能是错的!

有关如何评估输出的任何指示/见解都会很有用。谢谢。

编辑:我在一个非常旧的编译器中进行了测试,它给出了 1,这是我的一个错误,已纠正它。

最佳答案

C编译器从上到下、从左到右读取代码。
这里,a>b>c => 5 > 10 > c => 0 > 5(假用0表示)=> 0


因此,对于大多数遵循此优先顺序的编译器来说,答案应该是 0

有关 Order of Operation 的更多详细信息

关于c - a>b>c 当每个都有数值时进行评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275322/

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