簡體   English   中英

在C中輸入帶空格的字符串

[英]Inputting a string with spaces in C

我希望程序提示用戶要寫​​多少個句子,然后輸入這些句子。 但是,當我嘗試輸入句子時,會不斷出現錯誤。 我嘗試使用幾種不同的功能,但所有功能都產生了某種錯誤。 例如,現在我正在嘗試使用fgets(),在輸入第一句話之后,它給我帶來了句段錯誤。 有人可以告訴我什么是用空格輸入字符串的最佳方法以及如何解決我的問題嗎?

int n;
char str[n][80];

printf("Enter number of lines: ");
scanf("%d", &n);

printf("Enter a sentecne: ");
for(int i = 0; i < n; i++){
    fgets(str[i], 80, stdin);
    printf("%s", str[i]);
}

您可以在初始化n之前定義數組str 這意味着n將具有不確定的值(看似隨機的)。

定義str 之前n的輸入移動到。

您可以使用讀取功能http://man7.org/linux/man-pages/man2/read.2.html

讀取文件描述符0(標准輸入),用於存儲數據的char * buffer和要讀取的size_t大小

您的代碼中有幾個問題

int n; // must have a value
int n = 10; // example, here your variable is initialized

您也不檢查scanf的返回值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM