求解:int i=1; k=(i++)+(++i)+(i++); 最后k与i的值分别是多少,为什么?谢谢~

[复制链接]
查看11 | 回复2 | 2013-1-2 21:52:50 | 显示全部楼层 |阅读模式
1. 先把i++换到最后面,变成 i + (++i) + i ; i++; i++;2. 从左到右累加,先拿出前两项 i + (++i)。先算 ++i,i 的值变成2,两项相加得3;3、计算 3 +i,得6。...
回复

使用道具 举报

千问 | 2013-1-2 21:52:50 | 显示全部楼层
不同的编译器可能会产生不同的结果,编译器对语句的解析并没有一个统一的标准所以没有意义,编译器在编译的时候会优化掉一些语句,你用不同编译器编译就会有不同结果。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行