C++中奇怪的逻辑表达式 int a; if(a = 0)cout << 1; else cout << 0; 众所周知,上面这个代码会输出0 所以说 a=b 这个表达式会返回新的a值,即b的值 那么 int a=2,b=3; if(a >= b = 1)cout <<1; else cout << 0; 会输出什么呢? 事实上编译都没通过 总而言之,通常如果没有逻辑表达式,那么就会在赋值之后返回第一个变量的值