我正在爲我的C課程工作,我試圖接受用戶的輸入並將其存儲在一個變量中,以便稍後在我的代碼中使用。這是我的主要功能是什麼樣子,Scanf Seg Fault
int main() {
// Variables here
char* inputLine[10];
do {
printf("Insert number....");
scanf("%s\n", inputLine);
// More stuff here
}
return 0;
}
此代碼給了我一堆警告,warning: format specifies type 'char *' but the argument has type 'char **' [-Wformat]
的,如果我改變的變量聲明,
char* inputLine = NULL;
當我執行我的代碼,我收到了seg故障,有人可以向我解釋我做錯了什麼,以及當我初始化這個變量時內存中發生了什麼的區別?
+1和變硬,與在格式說明長度說明,以防止緩衝區溢出。 – WhozCraig
@WhozCraig謝謝更新:D – P0W