return中的问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:24:48
int sum(int i,int j)
{
return i+j;
printf ("这个语句不会被执行,因为该子函数执行到上面的return语句就无条件结束了");
}

main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}

程序的输出为:
21

这个21从何而来呢main函数调用sum(a,b)函数时将a的值赋给i,b的值赋给j,上面说了return i+j;会计算i+j的值也就是结果等于21,并将21带回给调用它的函数,即c=sum(a,b);相当于c=21,这个21 就是由sum(a,b)中的return反回来的。

我想问一下为什么是把a的值给i,b的值给j?为什么两个函数中要用各不相同的字母啊?

因为在sum函数里是i在前面j在后面,所以调用的时候a在前面就把a的值赋给i,b和j也是这样。其实是可以用相同的字母的,因为a,b和i,j都是局部变量,怎么定义都不会有影响的

是否相同的字母是没关系的。你也可以用相同的字母,但为了区别你最好还是用不同的。

c=sum(a,b);
a的值自动放入i,b的值自动放入j。并进行运算。