gpt4 book ai didi

c - 我如何计算输出

转载 作者:行者123 更新时间:2023-11-30 19:52:29 26 4
gpt4 key购买 nike

#include<stdio.h>
void main()
{
int x=3,y=2,z=0,m;
m=++x || ++y && ++z;
printf("\n %d %d %d %d\n",x,y,z,m); // 4 2 0 1
}

以下代码的输出在程序中作为注释提到,我正在尝试评估这个答案是如何得出的,但我无法理解。

我只是想知道程序如何计算相对值。

最佳答案

感谢 pmg,我已经更正了我原来的答案(我有一个错误)

由于 OR 运算符 (||) 的左侧不为零,因此它不会计算该行上的任何其他内容。这称为“短路运算符”。在你给出的这个例子中,程序员基本上是在欺骗编译器。如果运算符右侧的参数不影响结果,则不会执行该代码。然而在这种情况下,那里发生了增量,并且它们也不会被评估。这会将“1”分配给 m。你的输出应该是 3, 2, 0, 1。

关于c - 我如何计算输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52761965/

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