我絕對新的C遊戲,並會喜歡用下面的代碼片段一些幫助:代替陣列的用指針
#include <stdio.h>
int main() {
int cases;
scanf("%d", &cases);
printf("%d", cases);
int i;
int *heights;
for(i=0; i<cases; i++){
scanf("%d", &heights[i]);
}
return 0;
}
我明白,它出現segfaults因爲我給scanf
一個NULL
指針,那麼有什麼辦法可以讓scanf
給這個指針提供值?或者是否有更好的方法從stdin
中獲取可變數量的參數,而我完全沒有?
在一個側面說明你(可能)沒有給出任何空指針。讓變量未分配意味着它們具有未定義的值,因此可以是任何東西。 – DrYap
主要的問題是高度被定義爲一個指針,你沒有(可能通過malloc())給它指向任何東西。 – user3629249