逻辑与(&&)的功能:若参加运算的两个表达式值均为非0,则结果为0;否则结果为1.int x,y,z,m;x=y=z=0;m=(x=1)&&(y=1)||(z=1);在这里,为什么书上说"(x=1)&&(y=1)"的值为1.不是(x=1)和(y=1)的值都为0(假)吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 17:35:20

逻辑与(&&)的功能:若参加运算的两个表达式值均为非0,则结果为0;否则结果为1.int x,y,z,m;x=y=z=0;m=(x=1)&&(y=1)||(z=1);在这里,为什么书上说"(x=1)&&(y=1)"的值为1.不是(x=1)和(y=1)的值都为0(假)吗?
逻辑与(&&)的功能:若参加运算的两个表达式值均为非0,则结果为0;否则结果为1.
int x,y,z,m;x=y=z=0;m=(x=1)&&(y=1)||(z=1);在这里,为什么书上说"(x=1)&&(y=1)"的值为1.不是(x=1)和(y=1)的值都为0(假)吗?假与假不是也是假吗?

逻辑与(&&)的功能:若参加运算的两个表达式值均为非0,则结果为0;否则结果为1.int x,y,z,m;x=y=z=0;m=(x=1)&&(y=1)||(z=1);在这里,为什么书上说"(x=1)&&(y=1)"的值为1.不是(x=1)和(y=1)的值都为0(假)吗?
(x=1)&&(y=1)
首先需要说明的是这里的‘=’号不是逻辑判断而是赋值(c语言里逻辑判断是'=='),所以这一句的意思是
x=1;y=1;z=1
x&&y||z
也就是
1&&1||1
值为1
---------------------------
你理解的应该是这样表达
(x==1)&&(y==1)||(z==1)