-1
,所以我開始在C編程現在我有一個指針問題:改變價值
int * diff(){
int array[2] = {1,2};
return array;
}
int main(int argc, char const *argv[]) {
int *p;
p = diff();
printf("%d\n", *(p));
printf("%d\n", *(p));
return 0;
}
因此啓動該程序後。我的終端顯示如下:
1
0
那麼爲什麼* p的值會改變?
返回指向局部變量==未定義行爲的指針。 –
@Downvoters,由於這個問題寫得很好,並且有一個很好的代碼片段,所以有點苛刻。作爲初學者,很難調出搜索條件。 – Bathsheba