例如,我使用后
int a = 5, b = 6;
x = (a < b) ? a++ : b++;
Run Code Online (Sandbox Code Playgroud)
x得到a的值,即5,增量为6,这是预期的.
我用的时候
a = (a < b) ? a++ : b++;
Run Code Online (Sandbox Code Playgroud)
在这一行之后,仍然是5.
但
a = (a++ < b++) ? a : b;
Run Code Online (Sandbox Code Playgroud)
a现在是6.
为什么会发生这种情况,为什么在第一种情况下不执行增量运算符?
编辑:只是为了澄清,我问为什么当我分别使用这些线,一个接一个,而不是所有三个同时使用这些线时.