В следующем коде гарантировано, что будет напечатано "0 \ n"?
#include <stdio.h>
int main(void)
{
int c = 0;
printf("%d\n",c);
printf("%d,%d\n",++c,++c);
}
В более общем плане, если программа имеет неопределенное поведение, становится ли неопределенным вся программа или только с точки последовательности, с которой начинается проблемный код?
Обратите внимание: я не спрашиваю, что компилятор делает со вторым printf. Я спрашиваю, гарантированно ли произойдет первый printf.
Я знаю, что неопределенное поведение способно взорвать ваш компьютер, вывести из строя вашу программу и т. Д.