我已經用C編寫了這個代碼。我需要解決一個問題,並且在那裏我需要輸入包含空格的5行字符串。這個程序將給我輸出所有5行字符串,包括空格。通過空格,我的意思是在輸入之前,我可以在空格之前和char或任何char之後放置空格。這就是爲什麼我寫了這段代碼,但我不明白爲什麼它不起作用。Scanf(「%[^ n]」)在循環內不能處理數組字符
#include<stdio.h>
int main() {
char str[5][100];
for(int i=0;i<5;i++) {
scanf("%[^n\]",str[i]);
}
for(int j=0;j<5;j++) {
printf("%s\n",str[j]);
}
return 0;
}
我想只有
scanf("%s",str[i]);
使用,但那麼它忽視了裏面輸入的所有空格和修整的輸出。此外,我試圖使用
scanf(" %[^\n]",str[i]);
這一次稍微好一點,但它忽略任何字符之前的所有空白空間示例輸入是。
Robin Islam
// output showing
Robin Islam
// should show
Robin Islam
我只想讓這個計劃,讓每個我的意思是輸出應顯示與輸入相同,不能忽視空間空白。有人請幫助我。嘗試了很多方法的,但不知道如何使它工作以及如何......請幫助
感謝, 羅賓
scanf函數%s的讀取,直到字符串的結尾。你必須以其他方式分割空間。 – BitWhistler
嘗試使用'scanf(「%99 [^ \ n] \ n」,str [i]);'。 – ddz
'scanf()'不能很好的讀取行,使用'fgets()'。 – chux