TL / DR - записывает значение a[i]
в стандартный вывод, умножает количество символов, записанных на 0
, и возвращает результат ... который всегда равен 0
.
Я хотел бы увидеть остальную часть кода для контекста - на основе этой единственной строки кода это не имеет смысла, но, возможно, в контексте это будет выглядеть немного менее бессмысленно.
printf
возвращает количество символов (байтов), записанных в выходной поток, поэтому это записывает значение a[i]
в стандартный вывод, умножает количество символов, записанных на 0
, и возвращаетрезультат ... , который всегда равен 0
, поэтому, опять же, эта отдельная строка не имеет смысла.
Мне трудно придумать случай использования, где это было бы логично, но это не значит, что его нет.Возможно, автор хочет убедиться, что значение a[i]
отображается даже в случае ошибки, но почему бы просто не сделать
if ( error_occurred )
{
printf( "%d", a[i] );
return 0;
}
в этом случае?
Возможно, автор намеревается выполнить оператор print одновременно с возвратом, и в этом случае они не понимают, как работает Си.Возможно, автор путает краткий код с быстрым кодом, и в этом случае они все еще не понимают, как работает Си.
Или, может быть, автор хитрый ради хитрости.