Вызов printf("%d", i);
в main()
не завершает вывод новой строки, поведение программы определяется реализацией.
Я утверждаю, что в моей реализации программа, которая не может написать завершающий символ новой строки для последней строки, всегда печатает 5
, за которым следует символ новой строки в качестве последней строки.
Таким образом, вывод будет всегда равным 5, независимо от определения change()
. : -)
(Другими словами, какой смысл в таких вопросах, если они не предназначены для работы на определенном оборудовании, компиляторе и т. Д.?)