#include<stdio.h>
int add(int,int);
int main()
{
int a;
a=add(5,7);
printf("%d",a);
}
int add(int x,int y)
{
x=x+y;
return(x);
}
昨晚我對return語句有疑問。請參閱x
是在add
函數中定義的自動變量,因爲ANSI表示自動變量存在並且僅在函數內存在其使用期限,但此處return
語句可以使變量a在函數外部存在。它在哪裏存儲價值?堆棧還是堆?return語句在哪裏保存其數據?
在你的文章中,真正的問題是,爲什麼VALUE STILL EXISTS在'add'函數之外,而不是爲什麼變量仍然存在。你可以在'add'函數外部訪問'x'變量嗎?不,它不再存在。 – dpp