Функция
printf () возвращает количество напечатанных символов.Если при печати возникнет какая-либо ошибка, она вернет отрицательное значение.Посмотрите на этот фрагмент из библиотеки GNU C.
int
__printf (const char *format, ...)
{
va_list arg;
int done;
va_start (arg, format);
done = __vfprintf_internal (stdout, format, arg, 0);
va_end (arg);
return done;
}
Здесь printf возвращает 11 , поскольку количество напечатанных символов равно 11.
, если (11) равноtrue => Это будет true, так как 11 - положительное целое число, поэтому будет выполнено тело if ().