-3
考慮到這一代碼片段:爲什麼get()不接受char指針參數,如果它可以接受一個char數組?
#include <stdio.h>
int main()
{
char *s;
gets(s);
printf("%s",s);
return 0;
}
我得到一個運行時錯誤在這種情況下,在stdin
輸入一些輸入後。但是,如果s
被聲明爲數組,s[size]
,則沒有問題。但考慮到gets
原型,char *gets(char *s);
不應該工作?
你還沒有分配's'指向的內存。 – Barmar
's = malloc(BUFSIZE);' – Barmar
1)您是否閱讀過文檔?它**需要**'char *'。 2)**永遠不會使用'gets' **它已從標準中刪除,並且每個現代圖書館都會警告您嘗試使用它。 – Olaf