{int w=4,x=3,y=2,z=1; 求解释 if(x>y&&(z==w)) 这个运行完是真是假 求解释 有点看不东了 --

如题所述

w<x?w:z<y?z:x 的用算顺序是从右向左的

先计算 z<y?z:x 即1< 2?1:3 为1。然后计算 w<x?w:1 即4<3?4:1 结果为1。

同理可计算出 w>x?w:z>y?z:x 为4

if(x>y&&(z==w) 为假,所以输出的是else ,即4
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-23
if(x>y&&(z==w))
&& 表示 并且 ,也就是必须同时实现条件。只要有一个条件不能实现,条件是不成立。结果就是假。

if(x>y||(z==w)) 结果为真追问

可是 按那道题的答案 选项看应该是真的啊 然后我就蒙了。。
{int w=4,x=3,y=2,z=1;
if(x>y&&(z==w))printf("%d\n",(wx?w:z>y?z:x));
}

本回答被提问者和网友采纳