LoveUnix » 编程开发 & Rational » java的++i和c的++i
让LU留住您的每

一天 让LU博客留住您的每一天
2006-10-10 09:08 pkar
java的++i和c的++i

同样是
int i =3;
int j=(++i) + (++i);

在c中和java中结果竟然是不一样的
在c中,j= 10
而在java中j=9


同样
int i =3;
int j = (i++) + (i++);
的结果也不一样
在c中,j= 6
而在java中j=7

java和c的编译到底有什么不同呢

[[i] 本帖最后由 pkar 于 2006-10-10 09:11 编辑 [/i]]

2006-10-10 13:50 pkar
int j=(++i) + (++i);
在C里面(++i)应该用的都是i的存储地址,
使用inc指令将地址里的内容自动加了1
所以导致第二个++i把第一个给覆盖了
然后两个相加付给了j,导致j=10

页: [1]
查看完整版本: java的++i和c的++i


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.