Existe uma garantia de auto-descarga stdout antes de sair? Como funciona?
Aqui está o código (válido C e C ++)
#include <stdio.h>
int main() {
printf("asfd");
// LINE 1
return 0;
}
Se na linha 1 eu colocasse a expressão segfaulting, o programa iria apenas falhar sem imprimir nada (como esperado).
Mas por que o código acima está imprimindo "asdf" e não saindo sem o buffer ser liberado? O que está sob o capô e por que ele funciona como esperado?