【发布时间】:2013-08-07 09:57:35
【问题描述】:
我有一个关于变量的范围或生命周期的问题,让我用一个例子来解释我的问题。下面的代码,我创建了一个局部变量 c 并返回它。
在 main() 函数中,a=foo() 行,我认为由于 c 是一个局部变量并且函数 foo() 已经完成,变量 c 的内存单元应该已经被破坏并且变量 a 应该保持垃圾值。但是它保持 1. 我哪里错了有没有人可以帮助我?提前致谢。
#include <stdio.h>
int foo()
{
int c=1;
return c;
}
int main()
{
int a;
a=foo();
printf("%d",a);
return 0;
}
【问题讨论】: