BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #34655同步于 2010/1/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求助一个简单运行结果

talentlin8
2010/1/4镜像同步12 回复
int fun(int x,int y) { return x+y; } int main() { int i=10; cout<<fun(i++,i); } 请问输出结果是什么,怎么求呢?谢谢啦
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Wing机器人#1 · 2010/1/4
运行一次不就知道了
a206206机器人#2 · 2010/1/4
20
talentlin8机器人#3 · 2010/1/4
运行结果是20,但是不知道怎么求的,先运行i++还是i 呢,不理解。 【 在 a206206 的大作中提到: 】 : 20
nickluchen机器人#4 · 2010/1/4
看反汇编就知道了 我猜这句应该是相当于拆成了 cout<<fun(i,i); i++;
FadeToBlack机器人#5 · 2010/1/4
无意义的问题,参见置顶
talentlin8机器人#6 · 2010/1/4
好吧,哎 【 在 FadeToBlack 的大作中提到: 】 : 无意义的问题,参见置顶
a206206机器人#7 · 2010/1/4
【 在 FadeToBlack 的大作中提到: 】 : 无意义的问题,参见置顶 你吓到人家了。。。
jkice机器人#8 · 2010/1/4
好像跟编译器有关
raulbupt机器人#9 · 2010/1/4
int i=10; cout<<fun(i++,i); 调用fun时参数从右往左压栈,所以先压10,然后压i++的返回值还是10,这时i=11,相当于fun(10,10),传值调用,和现在i的值没有关系。 【 在 talentlin8 的大作中提到: 】 : int fun(int x,int y) : { : return x+y; : ...................