2 qingyangqingyang qingyangqingyang 于 2015.06.29 22:51 提问

下面这个 程序运行结果是?

int a=5;intb=7;
int main()
{int a=4,b=5,c;
c=plus(a,b);
printf("a+b=%d\n",c);

}
plus(intx,inty)
{int z;
z=x+y;
return (x);}

8个回答

ldqmz
ldqmz   2015.06.29 23:09

个人建议,此处
plus(intx,inty)
{int z;
z=x+y;
return (x);}
改为
plus(intx,inty)
{int z;
z=x+y;
return (z);}
才能实现两个数相加

ldqmz
ldqmz   2015.06.29 23:07

输出的结果是
a+b=4

qq_29327903
qq_29327903   2015.06.29 23:27

a+b=9。。。。。。。。

KangJinC
KangJinC   2015.06.29 23:42

根据优先级,是把 a=4,b=5 赋过去的!而返回的是 x;所以结果为 a+b=4

qq_29418663
qq_29418663   2015.06.30 01:43

a=4,b=5 值传递,返回X;所以结果为 a+b=4

qq_24433857
qq_24433857   2015.06.30 08:44

main函数先执行,对a,b赋值,a=4,b=5,plus()函数返回值是x就是4

Miner_Sty
Miner_Sty   2015.06.30 09:09

a + b = 4。。。。你是想实现加法吧。。。。plus的返回值应该是z啊。。

u014294325
u014294325   2015.07.06 13:16

4
返回x 这是想表达出错误的加法结果吗。。

Csdn user default icon
上传中...
上传图片
插入图片