C语言已知a=5,b=6,c=7,d=8,m=2,n=2执行(m=a>b)&&(n=c>d)后n值为

2025-06-28 23:14:14
推荐回答(1个)
回答1:

答案不可能是2,答案应该是0,这是一个逻辑表达式不可能出现0,1之外的数字。前边>的优先级高于赋值也就是先判断a>b是假,也就是0,把这个零赋值给m,此时m=0,因为逻辑符号&&有短路效应,也就是说前边只有出现假,就不会接着判断后边的一部分,所以整体表达式是假,也就是0