Ecco il codice (valido C e C++)Esiste una garanzia per lo svuotamento automatico dello stdout prima dell'uscita? Come funziona?
#include <stdio.h>
int main() {
printf("asfd");
// LINE 1
return 0;
}
Se in linea 1 ho messo va in segfault espressione del programma sarebbe appena in crash senza stampare nulla (come previsto).
Ma perché il codice sopra riportato stampa "asdf" e non esce senza che il buffer venga svuotato? Cosa è sotto il cofano e perché funziona come previsto?
Non utilizzare printf in C++ !! –
nota: questa domanda è a doppio tag ma la risposta è diversa in C che in C++. La risposta di Raymond Chen copre il C++. La risposta di @JensGustedt copre C (ma è stata cancellata ...) –