LoveUnix
»
编程开发 & Rational
»
java的++i和c的++i
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.