fun函数的运行结果

来源:百度知道 编辑:UC知道 时间:2024/05/13 10:59:47
#include<iostream.h>
int Fun(intx,inty)
{return x+y;}
void main()
{int i=10;
cout<<Fun(i++,i)<<endl;}
程序输出结果是多少?
怎样解释!谢谢!

结果为20

fun(int x,int y)只是将x+y的结果返回
执行cout<<Fun(i++,i)<<endl;相当于执行
int a; //我自己加的
a = i++ +i;
cout<<a<<endl;

而a=i++ + i相当于 a=i+i, i++;
现在i=10,也就是 a=10+10,i=10+1;
所以结果为20.

说的简单些,在Fun(i++,i)执行时,i不变;
当Fun(i++,i)执行完,i才被加1;

如果你不信,请在你的程序后加一句”cout<<Fun(i++,i)<<endl;“,将会输出结果22;