Einlesen von Variablen
-
Hallo ich bin totaler Anfänger bei c-programmierung und hab ein problem mit dem Einlesen von Variablen.
Möchte eigentlich nur ganz simpel, dass auf der Konsole der Text "Geben Sie eine Zahl ein:" erscheint. Dann gibt der Benutzer eine Zahl ein, die dann eingelesen wird. Hab das folgendermaßen geschrieben:
int main ( int argc, const char* argv[])
{
int zahl;
printf("Geben Sie eine Zahl ein:");
scanf("%d",zahl);return 0;
}Beim Starten des Pragramms bleibt die Konsole zunächst leer. Ich gebe eine Zahl ein und bestätige mit ENTER. Dann erscheint der Text aus printf. Wie muss ich das schreiben, damit es genau andersrum da steht. Wo ist der Fehler?
Vielen dank im Voraus
-
1. da fehlt ein & vor zahl bei scanf => scanf("%d", &zahl);
2. Bei mir klappt die Ausgabe wunderbar im vornherein. Also so wie man sich das denkt. Welches System nutzt du denn?
-
probier mal nach dem printf ein
fflush(stdout);
-
Müsste aber scanf() nicht eigentlich automatisch einen Flush machen um den internen Buffer zu leeren, oder ist der für ein und Ausgabe entsprechend getrennt, weil die Eingabe wird ja auch auf der Konsole angezeigt, muss also entsprechend auch in einem Ausgabebuffer landen, daher kommt jetzt meine Frage??
-
Danke, das mit dem fflush hat funktioniert. Aber es muss doch auch irgendwie ohne gehen, da in unseren info-Übungen fflush nie vorkam.
-
schnittlauch schrieb:
Danke, das mit dem fflush hat funktioniert. Aber es muss doch auch irgendwie ohne gehen, da in unseren info-Übungen fflush nie vorkam.
Dann taugt eure Info-Übung nichts.