Abbruch nach getchar()
-
Auch wenn es bei dir funktioniert, werden in C Funktionen außerhalb von anderen Funktionen (auch main) definiert.
Mach mal (die Stellen findest du schon)
printf("Sie haben %c (%d) eingegeben\n", alt, alt); ... printf("Sie haben %c (%d) eingegeben\n", neu, neu);
-
Sry, hab mich nicht genau ausgedrückt. Mit Abbruch meine ich, dass das zweite getchar nicht auf eine eingabe wartet und komplett durchläuft und somit das alte Zeichen durch ein leerzeichen ersetzt wird.
-
Sicher, daß es ein Leerzeichen ist - ich hätte eher auf einen Zeilenwechsel getippt (Erklärung siehe oben).
-
Alter Anfänger- und Fachbuchautorenfehler: Eingabepuffer wird nicht geleert und schlägt negativ später auf:
-
Welcher Wert steht denn zwischen den Klammern bei der Kontrollausgabe?
-
dein zu ersetzendes Zeichen und ein '\n'
wo kommt denn das '\n' her?
-
davon daß du die Eingabe deines zu ersetzenden Buchstaben mit einem Druck auf ENTER abgeschlossen hast
-
ahh ok, danke leute für eure Antworten!!!
while(getchar()!='\n');
Kann man auch mittels fflush oder so den Puffer leeren und dann den zweiten getchar ausführen lassen?
-
abg1984 schrieb:
Kann man auch mittels fflush oder so den Puffer leeren und dann den zweiten getchar ausführen lassen?
http://www.c-plusplus.net/forum/39349
Alles andere in dieser Richtung ist leider auch pöse. Auch wenn es auf Windows üblicherweise läuft.
-
fflush ist nur für die Ausgabe gedacht.
Siehe auch http://www.c-plusplus.net/forum/viewtopic.php?t=39349