Нет, передача int
не является ТРЕБОВАНИЕМ, как доказано printf()
.То, что вы видите в руководстве, относится к примерам func()
и average()
, представленным в руководстве (хотя пример func()
не соответствует объяснению int
, но пример average()
соответствует).
Только вызывающая сторона знает, сколько значений параметров она передает (и какого типа (типов)), поэтому вам нужно спроектировать свои функции с переменными параметрами таким образом, чтобы вызывающая сторона указывала, сколько значений параметров на самом делепередаются (и, возможно, их типы).Есть два способа сделать это:
, передавая требуемый ведущий параметр.Это может быть int
, указывающий точное количество аргументов.Или это может быть строка, которую функция анализирует для определения аргументов (это то, что делает printf
).
, передавая требуемое значение часового в качестве значения последнего аргумента.Затем функция просто использует все найденные аргументы, пока не достигнет этого часового.