Какая подпись у printf? - PullRequest
       28

Какая подпись у printf?

6 голосов
/ 11 марта 2009

Недавно в одном из интервью меня спросили, что такое подпись printf. Я действительно не мог получить правильный ответ. Кто-нибудь сможет пролить свет на это?

Ответы [ 3 ]

22 голосов
/ 11 марта 2009
int printf ( const char * format, ... );

Они, вероятно, просили это проверить, знакомы ли вы с синтаксисом необязательного параметра "...". Это позволяет вам передавать неопределенный список переменных, которые будут заполнять строку формата.

Например, тот же метод можно использовать для печати таких вещей:

printf("This is a string: %s", myString);
printf("This is a string: %s and an int: %d", myString, myInt);
6 голосов
/ 11 марта 2009

printf - это переменная функция со следующей сигнатурой:

int printf(const char *format, ...);

это означает, что он имеет один обязательный строковый параметр, за которым следует 0 или более параметров (которые могут быть различных типов). Наконец, он возвращает int, который представляет количество символов в результате.

Количество и тип необязательных параметров определяются содержимым строки формата.

3 голосов
/ 11 марта 2009

Подпись метода , для некоторого дополнительного контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...