Quando eseguo il programma di seguito, non ottengo alcun output.comportamento insolito con printf con ciclo while infinito
#include <stdio.h>
int main()
{
printf("hello");
while(1)
{
}
return 0;
}
mentre se modifico il comando printf per aggiungere un carattere '\ n' alla fine della stringa, quindi i risultati attesi viene. cosa sta succedendo nel primo codice? Semplicemente non riesco a capirlo.
chiama 'fflush (stdout)' btw hai un ciclo infinito. –
L'output è memorizzato nel buffer. Hai bisogno di un '\ n' alla fine della stringa per farla stampare, o usare' fflush (stdout) 'dopo il tuo' printf' come suggerito da @GrijeshChauhan. Ci sono altre operazioni che svuotano anche il buffer di output, come una funzione di input ('getchar' o' scanf') ma non è chiaro dallo snippet di codice che cosa sta facendo il tuo ciclo. – lurker
possibile duplicato di [Perché il programma non esegue l'istruzione printf finale?] (Http://stackoverflow.com/questions/11277796/why-does-program-not-execute-final-printf-statement) – lurker