char name[20] eintragen und auslesen
-
Hallo,
ich komme einfach nicht weiter. Eigentlich denke ich das ich alles richtig mache doch leider bekomme ich nicht die gewünschte Ergebnisse.
Mein Code:
#include <stdio.h> int main() { char satz[20]; printf("\nGeben Sie etwas ein: "); scanf("%c", &satz); printf("Sie haben %s eingegeben", satz); return 0; }
Leider gibt er mir nur den erstes Buchstaben aus und nicht alle Zeichen.
Habe auch schon mit %c probiert klappt auch nicht, wo könnte der Fehler sein?Danke
-
OK den Fehler habe ich schon endeckt. Leider wenn ich eingebe: Hallo du da
bekomme ich als ausgabe Hallo
also ohne da du da
Was mache ich jetzt
-
hmm mit:
scanf("%s", &satz);
sollte es gehen?
-
Man nimmt niemals & bei Strings, wenn man scanf verwendet...
Scanf ließt einfach nur bis zum 1. Whitespace. Nimm fgets.
-
feigling schrieb:
Scanf ließt einfach nur bis zum 1. Whitespace.
Nicht unbedingt - du brauchst nur die richtigen Formatkennungen -
scanf("%[^\n]",satz);
liest beispielsweise bis zum Zeilenende (das entspricht gets()).
-
Ja ok, scanf ließt per Standard mit %s nur bis zum 1. Whitespace