In C gibt es eine Garantie mit Code vor undefiniertem Verhalten?

Wird im folgenden Code garantiert, dass "0 \ n" gedruckt wird?

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

    printf("%d,%d\n",++c,++c);
}

Mehr allgemein, wenn ein Programm undefiniertes Verhalten hat, wird das gesamte Programm undefiniert oder nur ab dem Sequenzpunkt, an dem der problematische Code beginnt?

Bitte beachten Sie: Ich binnich Fragen, was der Compiler mit dem zweiten printf macht. Ich frage, ob der erste Ausdruck garantiert auftritt.

Ich weiß, dass undefiniertes Verhalten Ihren Computer in die Luft jagt, Ihr Programm zum Absturz bringt oder so.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage