要点 C++ 允许使用赋值运算符作为条件 if(i = j) 此时,if语句的条件部分把 j 的值赋给 i,然后检查赋值的结果是否为真 如果 j 不为 0 ,条件将为真反之为假 注意与if(i == j)区分 赋值运算满足右结合律 int ival, jval; ival = jval = 0 // 正确:都被赋值为 0. 赋值运算符满足右结合律,所以靠右的赋值运算 jval = 0 作为靠左的赋值运算符的右侧运算对象。又因为赋值运算返回的是其左侧运算对象,所以靠右的赋值运算的结果(即 jval)被赋给了 ival。