我的代码是:
code(){
int x=7;
x=x++;
output x; //prints 8 in C, prints 7 in Java
}
Run Code Online (Sandbox Code Playgroud)
球员上面的代码:打印8在C,和7在Java!!
为什么会这样?请解释.
那将7用Java 打印.x=x++;相当于:
int temp = x;
x = x + 1;
x = temp;
Run Code Online (Sandbox Code Playgroud)
如果您使用前缀运算符,结果会有所不同++x.
阅读任何人都可以解释这些未定义的行为(i = i ++ + ++ i,i = i ++等...)来理解C中的输出.
在Java中x=x++,被评估为:
int temp = x;
x = x + 1;
x = temp;
Run Code Online (Sandbox Code Playgroud)
所以,基本上没有变化是x在那个表达之后.
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |