В C есть ли гарантия с кодом до неопределенного поведения?

В следующем коде гарантируется, что «0 \ n» будет напечатано?

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

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

В более общем случае, если программа имеет неопределенное поведение, становится ли вся программа неопределенной или только с точки последовательности, с которой начинается проблемный код?

Пожалуйста, обратите внимание: яне спрашивая, что компилятор делает со вторым printf. Я спрашиваю, гарантированно ли произойдет первый printf.

Я знаю, что неопределенное поведение может взорвать ваш компьютер, сбой вашей программы или еще что-то.

Ответы на вопрос(4)

Ваш ответ на вопрос