Я проверил следующие тесты на моем Linux-поле.Почему printf не работает для строки NULL?
тест 1:
printf("test %s\n", NULL);
printf("test %s\n", NULL);
печатает:
test (null)
test (null)
тест 2:
printf("%s\n", NULL);
printf("%s\n", NULL);
печатает
Segmentation fault (core dumped)
В чем разница в вышеприведенных тестах? Почему ошибка сегментации не выбрасывается в тест 1 выше?
Я не мог понять, почему во втором тесте он не распечатывается?
Это неопределенное поведение, вы не можете получить согласованные результаты. –