[求助]一个小问题 请大家解释一下
#include <stdio.h>
int test();
void main(void)
{
int n = 0;
n = test();
printf("%d\n",n);
}
int test()
{
int i = 8;
return i;
}
按理说,i是一个局部变量,出了自定义函数test后其内存空间应该被释放才对!
n也就会接收到一个随机值!
但这个程序最后为什么还是打印出8呢?(说明n接收到i的值)
请大家帮忙解释一下!!!
新手求解!
问题点数:10、回复次数:2Top
1 楼cenlmmx(学海无涯苦作舟)回复于 2006-03-03 23:00:26 得分 5
函数test是返回值,构造了个临时变量再赋给n,然后自己释放Top
2 楼GHme_6()回复于 2006-03-03 23:17:57 得分 5
n怎么会接收到一个随机值呢?
return i;
已将 i 的值放到了系统堆栈中了
然后由 n 接受Top




