rob*_*bin 3 java post-increment
我在接受采访时被问到以下问题.
int b = 0;
b = b++;
b = b++;
b = b++;
b = b++;
Run Code Online (Sandbox Code Playgroud)
每行执行后b的值是多少?每行输出为0.
为什么输出不是0,1,2,3?
在Java中,表达式
b = b++
Run Code Online (Sandbox Code Playgroud)
相当于
int tmp = b;
b = b + 1;
b = tmp;
Run Code Online (Sandbox Code Playgroud)
因此结果.
(在其他一些语言中,完全相同的表达式具有未指定的行为.请参阅未定义的行为和序列点.)
| 归档时间: |
|
| 查看次数: |
1699 次 |
| 最近记录: |