Dies ist mein Code [Anmerkung: Ich bin Eclipse-Verwendung für C/C++ auf Windows-Plattform]Warum wird printf nicht wie erwartet aufgerufen?
#include <stdio.h>
#include<stdlib.h>
int main(void) {
int num;
printf("Enter a number:\n");
scanf("%d",&num);
if(num%2==0)
printf("Number is Even");
else
printf("Number is Odd");
return EXIT_SUCCESS;
}
Hier muss ich nur dann zuerst einen Integer eingeben printf genannt wird ... Ich will zuerst printf anrufen bevor ich einen Integer gebe ... Was mache ich hier falsch?
zum Beispiel ist dies die Ausgabe, dass ich
bekommen6
Enter a number:
Number is Even
und erwartete Ausgabe ist
Enter a number:
6
Number is Even
Ist das Problem, dass 'scanf' nicht zurückkommt, oder dass der letzte Aufruf von' printf' keine Ausgabe erzeugt? –
Pleast post a [MCVE]. Insbesondere, welche Umgebung Sie verwenden. Verwenden Sie eine normale Shell oder lesen/schreiben Sie Input/Output aus einer Datei oder einer Pipe? – EOF
Wenn das Programm "stdin/stdout" nicht als "interaktives Gerät" erkennt, wird es vollständig gepuffert. In diesem Fall kann die Ausgabe zwischengespeichert werden, bis ein Aufruf von 'fflush (stdout)' (oder einer von mehreren anderen Funktionsaufrufen) auftritt. – EOF