首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

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

计算机内部是如何处理返回值的?为什么能返回局部变量的值?
返回值的问题:
代码如下:
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 究竟干了啥事儿啊?计算机内部是怎么处理的?

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

应该可解决楼主的困扰

热点排行