C语言逻辑判断的一个问题?

来源:百度知道 编辑:UC知道 时间:2024/05/24 21:25:28
printf("%d\n",(a=2)&&(b=-2));的输出结果是什么?请告诉我判断的理由

(a=2) = true
(b=-2) = true
所以
(a=2)&&(b=-2) = true
输出 true 的值
1

条件不足,无法判断

输出结果为1, (a=2)和(a=-2)都是真,所以&&后也问真,返回1
要是写成(a==2)&&(a==-2)就是假了,返回-1

可能是1也可能是-1
得看前面的条件