C语言运算符问题#include<stdio.h>void main(){ int a=5,b=6,c=7,d=8,m=2,n=2; (m=a>b)&&(n=c>d) ; printf("m=%d n=%d",m,n);}为什么结果是0和2[解决办法]短路求值 a && b; 如a为false则不计算b 因为a > b 为假,所以 表达式(m = a > b)为0, m = 0 所以 (n = c > d)未执行。 所以n没有变,还是2