Consider this code:
int main()
{
printf("Hello World!\n");
int i;
i = i++ + ++i; // UB
}
Is this code guaranteed to print "Hello World!"? The last line invokes undefined behavior, but does that invalidate the whole program?
I found this but that question is about C++. This is about C.
It's not a dup of Undefined behavior and sequence points since it's C++. The answer may or may not be the same, but this question is about C.