c语言逻辑复合运算:!(x=a)&&(y=b)&&0

2025-04-14 06:37:39
推荐回答(2个)
回答1:

1. (x=a) 运算后,x=3,表达式的值也是3
2. !(x=a) <==> !3 = 0
----
3. (y=b) 运算后,y=4,表达式的值也是4
----
4. !3&&4&&0 <==> 0&&4&&0 <==> 0&&0 <==> 0 (&&, 且运算,遇0得0)
----
a,b,c不变。还是3,4, 5

回答2:

我加了这么一句printf("%d\n",y);
结果y的值不是4
可以得出先算!(x=a)
此处为假,则不再继续往下做y=b&&0了