读书人

i++,该如何处理

发布时间: 2013-10-21 17:00:48 作者: rapoo

i++
正值招工季,我来给大家出一道题,关于i++的问题

                              还记得以前学C语言的时候为++问题和同学争论不休。。。
[解决办法]
目测0,1.。
具体运行一下。。。
原来是0,2。

[解决办法]
求讲解。。。

循环里面等价于:

循环里面等价于:

int tmp = x++;//此句结束后tmp=0,x=1;
x = tmp;//x重新复制为0

x=0
x = x++ + ++x;
等价于
tmp =x++ + ++x;//2
x=tmp;

不过x++ + ++x我也不清楚为什么等于2,总感觉为1,这样的运算好像跟编译器有关,结果不一定


x=0
x = x++ + ++x;

运算总是从左往右一步一步:
上面等价于:

int x = 0;
int tmp1 = x++;//tmp1=0,x=1;
int tmp2 = ++x;//tmp2=2,x=2,++的优先级高
x = tmp1 + tmp2;//x=2

读书人网 >J2SE开发

热点推荐