gpt4 book ai didi

c++ - C++ 运算符如何工作

转载 作者:可可西里 更新时间:2023-11-01 18:39:48 25 4
gpt4 key购买 nike

给定 x = 2、y = 1 和 z = 0,以下语句将显示什么?

printf("answer = %d\n", (x || !y && z));

这是在测验中我做错了,我不记得我的教授讲过这个,请有人启发我...我知道我得到的答案是 1,但为什么?

最佳答案

表达式被解释为 x || (!y &&z) (检查运算符 ||!&& 的优先级。

||short-circuiting运算符(operator)。如果左侧操作数为真(在 || 的情况下),则无需评估右侧操作数。

在您的情况下,x 为真,因此作为 bool 表达式,结果将为 1。

编辑

&&|| 的求值顺序保证从左到右。

关于c++ - C++ 运算符如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3809415/

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