zeiger mit widerholschleife
-
okok hatte mich verschrieben , aber bei mir funzt eingabe = puffer[0] net.
-
Dann sei dir verziehen
-
also wenn ich das programm compiliere und als eingabe j eingebe beendet er das programm obwohl
die schleife weiter laufen solte.Wieso geht das bei mir nicht?ich nutze gcc.
danke
-
Lad dir nen anderen Compiler mit IDE herunter.
z.B. den Borland C++( http://www.borland.de ) oder Dev-C++( http://www.bloodshed.com )
-
sowohl borland als auch bloodshed sind compiler für windows was ich jedoch nicht habe.
Ich glaube Bloodshed Dev setzt auch auf gcc auf
-
#include <stdio.h>
#include <stdlib.h>
Du hast vielleicht Probleme!int main() { char eingabe = 'j'; while(eingabe == 'j') { system("cls"); printf("Eingabe: "); fflush(stdin); //Nie vergessen den Tastaturpuffer zu löschen!!! scanf("%c", &eingabe); } return 0; }
----
FREAK
-
Original erstellt von <FREAK>:
**system("cls");
fflush(stdin); //Nie vergessen den Tastaturpuffer zu löschen!!!
**Ui, gleich 2x systemabhängiges Verhalten... Es gibt auch noch was anderes als Microsoft.
-
Original erstellt von <FREAK>:
fflush(stdin); //Nie vergessen den Tastaturpuffer zu löschen!!!fflush(stdin); legt ein undefiniertes Verhalten an den Tag.
D.h., die Funktion kann den Eingabepuffer löschen oder auch die Festplatte.
Trotzdem wird die Funktion leider viel zu häufig in Büchern benutzt.
-
Statt immer mit eurem "Undefinierten Verhalten" zu kommen, könntet ihr doch lieber mal sagen wie ihr eurer Meinung nach am besten fflush(); umgehen würdet?
-
while(getchar() != '\n');