问个问题, 为什么函数调用不能直接return 某个函数的返回值,而要用个临时变量接收一哈,再进行返回。
int sum()
{
}
int add ()
{
return sum ();
} 错误!
int add ()
{
int tmp;
tmp = sum ();
return tmp;
} 正确!
为什么要这样写,直接返回有什么缺陷吗?
1、错误到底是什么错误?语法错误还是返回值错误?
2、应该没有这样的规定,可以return某个函数的返回值
没问题哇也没想到其他可能性。
是报了什么错,截图。
int sum()
{
return 0;
}
int add()
{
return sum ();
}
int main()
{
add();
return 0;
}
你的sum()这个函数没有返回值,你写个返回值就正确了。
肯定是可以直接return sum ();
递归函数,各种的,都是直接这样return的。
这么写就是为了便于后续使用呗,你这种是只有一个地方使用,万一后面也需要使用这个量,那就得改了,习惯问题吧,反正多个赋值操作也要不了多少时间。
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html