Я не уверен, что понимаю, насколько поведение undefined может поставить под угрозу программу.
Скажем, у меня есть этот код:
#include <stdio.h>
int main()
{
int v = 0;
scanf("%d", &v);
if (v != 0)
{
int *p;
*p = v; // Oops
}
return v;
}
Является ли поведение этой программы undefined только для тех случаев, когда v
отличное от нуля или оно undefined, даже если v
равно нулю?