- Java code
int i=1,m;m=(i++)+(++i)+(++i)+(++i)+(i++);System.out.println(m);System.out.print(i);
这个m的值为什么是18 怎么计算的,还有刚才那个帖子里的
- Java code
int i=0;while(true){i=i++;System.out.println(i);}
怎么回事 为什么会循环输出0?
应该是0 1 2 3……
才对啊?
------解决方案--------------------
说的简单一点
i=i++;
相当于
int temp=i++; //先取i的值0,然后i自增变为1,然后把0赋给temp,即temp是0
i=temp;
同理
(i++)+(++i)+(++i)+(++i)+(i++);
相当于
int temp1=i++;
int temp2=++i;
int temp3=++i;
int temp4=++i;
int temp5=i++;
m=temp1+temp2+temp3+temp4+temp5