C语言l里 &&与&的区别?还有X=(y=4,z=16,k=32)什么意思啊?x=(y==z)呢
发布网友
发布时间:2023-09-30 13:10
我来回答
共3个回答
热心网友
时间:2024-12-01 14:57
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中所有非零值为真,零值为假)
热心网友
时间:2024-12-01 14:57
&&是逻辑运算与运算,&是位运算的与。&的运算级高于&&,所以先进行&运算,也就是3&9
3的二进制为00000011(int型)9的二进制为:00001001,所以3&9=1,所以5&&4&&3&9=5&&4&&1=1(真)
X=(y=4,z=16,k=32)是逗号表达式,结果X=4;
x=(y==z),如果y==z成立,则x=1,否则x=0
热心网友
时间:2024-12-01 14:58
&& 是与运算,例:if(x==1 && y==1){执行语句} 当x,y都等于1时执行括号内语句。
&是取地址的意思,例:scanf("%d",&a); 输入一个整数a,存放到a对应的内存地址
X=(y=4,z=16,k=32)和 x=(y==z) 我没见过,一般你也用不到