Qubc
@Qubc
Ненавижу полисемию.

Что означает синтакс const char *format [, argument]... в документации?

Вот это понятно
int scanf ( const char * format, ... );
это char pointer и ellipsis для variable-length argument lists.

А вот это
int scanf(
   const char *format [,
   argument]...
);

https://learn.microsoft.com/en-us/cpp/c-runtime-li...

выглядит очень странно. Зачем оно так написано? Причём тут указатель на массив длины argument? Не зная первого - я не смог бы понять второе описание. Я что-то упускаю?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Квадратные скобки - это, в данном случае, обозначение необязательного параметра. Три точки - указание на то, что параметр может повторяться. То есть, допустимые варианты:
int scanf ( const char * format );
int scanf ( const char * format, argument );
int scanf ( const char * format, argument1, argument2 );
и т.д.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Функция с переменным числом аргументов, но минимально должен присутствовать 1 - format, все остальные опционально.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы