C语言问题,x=5,x>5?x=4:x=3&&x>5;求详细运行过程和结果

条件运算符优先级低于逻辑运算符

x=5 x得5。
3目运算:
最好这样写 x>5? (x=4) : (x = 3 && x>5);
x>5? 得假
条件为假 进入 x=3&&x>5
这是赋值语句, x= (3 && x>5 ); 关系运算符优先于逻辑运算符,
所以 x = (3 && (x>5) ); 这里 关系运算 x>5 得 0 (假就是0,0就是假)。 3 && 0 得 0。 把 0 赋给 x, 于是 x变 0 。
结果x是 0。追问

我的题目其实是(x>5?x=4:x=3)&&x>5

温馨提示:答案为网友推荐,仅供参考
相似回答