C语言中X*=(y==(Z=4))是什么意思其中Y等于0

Python025

C语言中X*=(y==(Z=4))是什么意思其中Y等于0,第1张

赋值 Z=4

然后 判断 y==Z 由于y为0, Z为4, 所以这个判断不成立

值为假 也就是0

最后一步就是

X*=0 也就是 X=X*0=0

于是 执行后

X=0

Y=0

Z=4

5&&4&&3&9 = 1(真) &作双目运算是“位与”,比&&逻辑与优先级高

X=(y=4,z=16,k=32)给y赋值4 , z赋值16,k赋值32,然后所最后这个32(当时在寄存器中)赋给X

x=(y==z) 把y与z是否相等的逻辑值赋给x 值只会是 0或1 即假或真

3&9 结果为11,换成C中的逻辑值就是真(C中所有非零值为真,零值为假)