Ich war scanf für alle meine Eingaben in C. Jetzt sah ich andere ähnliche Fragen über scanf()
und sie schlug vor, fgets()
anstelle von scanf()
. Ich werde es in Zukunft tun. Im Moment scheint dieser bestimmte Teil des Codes mit scanf()
nie zu funktionieren. Ich weiß, dass es eine Lösung gibt.Scannen einer Zeile von Zeichenfolgen mit Leerzeichen mit scanf
Mein Code ist:
#define LENGTH 1000
#define WORD 100
int main(){
int i = 0;
char s[WORD][LENGTH];
do {
scanf("%s", s[i]);
i++;
}
while (s[i][strlen(s[i])] != EOF);
printf("%s\n", s);
return 0;
}
Es soll etwas statt EOF
in der while-Schleife sein, die für das Ende der Zeile überprüft. Das Endergebnis sollte ein Array von Wörtern in s[]
sein und das Programm sollte dieses Array von Wörtern ohne Leerzeichen drucken.
Ich kam 'while (scanf ("% s ", & str [strlen (str)]) == 1)'. Ich bin total neu hier. Wie Iharob Al Asimi erklärte, ist es falsch. Können Sie bitte erklären, warum diese Lösung nicht korrekt ist? oder warum kann ich es nicht in meinem Code verwenden? –