printf () ohne Argumente in C kompiliert gut. Wie

Ich habe das folgende Programm ausprobiert und erwartet, dass es zu einem Fehler bei der Kompilierung kommt, aber warum gibt der Compiler keinen Fehler aus?

#include <stdio.h>
int main(void)
{
    printf("%d\n");
    return 0;
}

Warum ist die Ausgabe vom Compiler abhängig? Hier ist die Ausgabe auf verschiedenen Compilern

Output auf Orwell Dev C ++ IDE (verwendet gcc 4.8.1): 0

Output in Visual C ++, bereitgestellt von Visual Studio 2010: 0

CodeBlocks IDE (verwendet gcc 4.7.1): Garbage Value

Online Compiler ideone.com: Müllwert

Was läuft hier falsch?

Antworten auf die Frage(20)

Ihre Antwort auf die Frage