Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 请解释一下这个结果_C_Operators_Logical Operators - Fatal编程技术网

C 请解释一下这个结果

C 请解释一下这个结果,c,operators,logical-operators,C,Operators,Logical Operators,我在尝试c编程,我写了一个小代码,但我无法理解这一点 #include<stdio.h> int main() { int x,y,z,k; x=y=z=k=1; z=x++||y++&&k++; printf("%d %d %d %d\n",x,y,z,k); } #包括 int main() { int x,y,z,k; x=y=z=k=1; z=x++|y++&&k++; printf(“%d%d%d%d\n”,x,y,z,

我在尝试c编程,我写了一个小代码,但我无法理解这一点

#include<stdio.h>
int main()
{

    int x,y,z,k;
    x=y=z=k=1;

    z=x++||y++&&k++;
    printf("%d %d %d %d\n",x,y,z,k);
}
#包括
int main()
{
int x,y,z,k;
x=y=z=k=1;
z=x++|y++&&k++;
printf(“%d%d%d%d\n”,x,y,z,k);
}
我希望输出为2 1 2 因为&&的优先级大于|| 但是输出是2 1
请解释。

C使用,因此当
x++
被计算为
true
时,其余的表达式不会被计算,并且不会发生增量。

C使用,因此当
x++
被计算为
true
时,其余的表达式不会被计算,没有增量。

但是&&的优先级大于| |所以(x++| y++)和k++都应该被评估,我同意y++不会被执行,因为x++是真的,但是k++应该正确执行?不。只要
x++
的计算结果为
true
,就足够了。无需使用
| |
的右手部分执行任何操作。这个答案是正确的;请阅读本文,也请参见,但&&的优先级高于| |,因此(x++| | y++)和k++都应该进行评估,我同意y++不会执行,因为x++是正确的,但k++应该正确执行?不。只要
x++
的计算结果为
true
,就足够了。无需使用
| |
的右手部分执行任何操作。这个答案是正确的;请阅读此内容,另请参阅