Наткнулся на интересный вопрос интервью:
test 1:
printf("test %s\n", NULL);
printf("test %s\n", NULL);
prints:
test (null)
test (null)
test 2:
printf("%s\n", NULL);
printf("%s\n", NULL);
prints
Segmentation fault (core dumped)
Хотя это может работать нормально на некоторых системах, по крайней мере, у меня возникает ошибка сегментации. Что было бы лучшим объяснением такого поведения? Вышеприведенный код написан на C.
Ниже приведена моя информация gcc:
deep@deep:~$ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3