执行以下程序段后,x的值为0,y的值为1。int x, y;if (x = 0) y = 0;else y = 1;if中只有一个等号 ,表示赋值,不表示判断,y不应该为0吗。
if里面判断相等要用==,=是赋值,x被赋值成0,if条件就是false,就走else分支了
是先赋值后,再判断,依然是要进行判断的。
x = 0 最终表达式 的值为 0, if(0) 不成立, y = 1