Wenn ich das unten Programm ausführen, bekomme ich keine Ausgabe.ungewöhnliches Verhalten mit printf mit unendlich While-Schleife
#include <stdio.h>
int main()
{
printf("hello");
while(1)
{
}
return 0;
}
während, wenn i der printf Befehl bearbeiten, um ein ‚\ n‘ Zeichen an das Ende der Zeichenfolge hinzuzufügen, dann ist die erwartete Ausgabe kommt. Was passiert im ersten Code? Ich kann es einfach nicht verstehen.
Call 'fflush (stdout)' BTW Sie haben Endlosschleife. –
Ausgang ist gepuffert. Sie benötigen entweder ein '\ n' am Ende des Strings, um es auszudrucken, oder' fflush (stdout) 'nach Ihrem' printf', wie es @GrijeshChauhan vorgeschlagen hat. Es gibt andere Operationen, die den Ausgabepuffer ebenfalls spülen, wie zum Beispiel eine Eingabefunktion ('getchar' oder' scanf'), aber es ist unklar von Ihrem Code-Snippet, was Ihre Schleife macht. – lurker
mögliches Duplikat von [Warum führt das Programm die finale printf-Anweisung nicht aus?] (Http://stackoverflow.com/questions/11277796/why-does-program-not-execute-final-printf-statement) – lurker