关于逻辑表达式的问题!void main(){int x=3,y=4,z=2,i;i=xy;printf("i=%d,z=%d",i,z)}i=0,z=2i=0我明白!i=xy这里不是已经给z复制为10了吗?怎么回事!上面的“复制”改为“赋值”!

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 12:13:04

关于逻辑表达式的问题!void main(){int x=3,y=4,z=2,i;i=xy;printf("i=%d,z=%d",i,z)}i=0,z=2i=0我明白!i=xy这里不是已经给z复制为10了吗?怎么回事!上面的“复制”改为“赋值”!
关于逻辑表达式的问题!
void main()
{int x=3,y=4,z=2,i;
i=xy;
printf("i=%d,z=%d",i,z)
}
i=0,z=2
i=0我明白!i=xy这里不是已经给z复制为10了吗?怎么回事!
上面的“复制”改为“赋值”!

关于逻辑表达式的问题!void main(){int x=3,y=4,z=2,i;i=xy;printf("i=%d,z=%d",i,z)}i=0,z=2i=0我明白!i=xy这里不是已经给z复制为10了吗?怎么回事!上面的“复制”改为“赋值”!
这个问题,刚一看我也有点看不懂,所以就写代码看了一下,确实是z=2,所以我就想既然z的值没有发生变化,也就是(z=10)这一句根本没有执行.
后来查了关于逻辑运算符的一些知识点,其中一条就是关于&&和||的.对C/C++编译器来讲是这样处理的:对&&前的值如果是0的话,&&后的部分就不再处理;对||刚好相反,当||前的值为1时,||后的部分就不再处理.所以,在这里z=2也就无可后非了.

天那。。。完全看不懂这是什么