我需要一个Java方面的帮助
Q.1 java指令 x = x++ + 1
表现出未定义的行为或只是未指定的行为?
Q.2 在指令中 y += A() + B() + y++
是否可以保证RHS(右手边)的排序在前。y =
或者说这也是未定义的行为?
PS:在C++中两者都是未定义的行为。
是很好定义的。假设x为0.首先,x++评价为0,副作用是使x递增,也就是说现在x为1.1评价为1,因此算术表达式为0+1。这就是现在分配给x的结果,意味着x是1。
基本上和1的情况是一样的,所以就定义了,=右边的表达式会先被评估,是的。