Я до сих пор не знаю, когда моя строка в программе c содержит нуль в конце, а когда нет.
Пример моего кода
...
float t0 = 2.43, t1 = 3.42, t2 = 1, t3 = 10.9;
...
printf("%.2f %.2f %.2f %.2f", t0, t1, t2, t3);
...
Если я использую printf, как в моем коде, будет ли программа c автоматически добавлять нулевое завершение в конец напечатанной строки или нет?
printf()
. Функцияprintf
отправляет результирующий вывод вstdout
. Терминатор не выдается. Или вы думали оsprintf()
? - person WhozCraig   schedule 10.03.2015printf
и к тому, заканчивается ли оно нулем-терминатором (чего нет). Пока что ни один ответ ниже, похоже, не уловил этого. Мое дешевое стекло, некруглое, плохое оправдание хрустального шара говорит мне, что вопрос в конечном итоге связан с перенаправлением stdout и добавляет ли этот вывод терминатор к целевому устройству. - person WhozCraig   schedule 10.03.2015printf()
. См. редактирование в этом ответе - person chux - Reinstate Monica   schedule 10.03.2015