我不能理解Yashwant Kanetkar的讓我們C的例子。以下是代碼片段:無法理解讓我們C靜態存儲類的例子
main()
{
int *j;
int *fun();
j = fun();
// If we add a function call here, the print statement prints a garbage value.
printf("\n%d",*j);
}
int *fun()
{
int k = 35;
return (&k);
}
現在在上面的代碼,我無法理解其在打印垃圾值printf語句結果前一個函數調用原因。我有一個模糊的想法,即當返回的值指向堆棧中的內存位置時,在打印此值之前調用另一個函數時出現錯誤。但是我無法清楚地看到這裏發生的事情。請幫忙。