读书人

计算机内部是如何避免返回值的?为什么

发布时间: 2012-10-18 13:46:56 作者: rapoo

计算机内部是如何处理返回值的?为什么能返回局部变量的值?
返回值的问题:
代码如下:
int funA(int c,int e)
{
return c+e;
}

int *funB(int a,int b)
{
int c=(a+b);
return &c;
}
我懂了funB不能返回局部变量的地址(因为c是存在栈上的,会被消去);
我不懂funA为什么能返回值呢?funA的return 究竟干了啥事儿啊?计算机内部是怎么处理的?

[解决办法]
调试的有时候,看下反汇编代码。
[解决办法]
参考:
关于函数返回值的几种情况

应该可解决楼主的困扰

读书人网 >C语言

热点推荐