Я помню, когда я был на каком-то курсе программирования на С, однажды учитель предложил мне использовать printf
, чтобы наблюдать за выполнением программы, которую я пытался отлаживать. Эта программа имела ошибку сегментации с причиной, которую я не могу вспомнить в данный момент. Я последовал его совету, и ошибка сегментации исчезла. К счастью, умный ТА сказал мне отлаживать вместо использования printf
s. В этом случае это было полезно.
Итак, сегодня я хотел показать кому-то, что использование printf
потенциально может скрыть ошибку, но я не могу найти тот старый код, который имел эту причудливую ошибку (функция? Хммм).
Вопрос: Кто-нибудь из вас сталкивался с таким поведением? Как я мог воспроизвести что-то подобное?
Изменить:
Я вижу, что часть моего вопроса ориентирует мое мнение на "использование printf
неправильно". Я не совсем так говорю, и мне не нравится принимать крайние мнения, поэтому я немного редактирую вопрос. Я согласен, что printf
- хороший инструмент, но я просто хотел воссоздать случай, когда printf
s приводит к исчезновению ошибки сегментации и, следовательно, доказать, что нужно быть осторожным.