#c
Функция printf может принимать разное количество аргументов. Например: printf("Hello!\n"); или printf("Hello, %s!\n", "world"); Как это делается?
Ответы
Ответ 1
Есть стандартный заголовок, который позволяют объявлять подобные функции. #include void _printf(char *format, ...) { va_list argp; va_start(argp, format); printf(format, argp); va_end(argp); } Ответ 2
#include#include /* calculate sum of a 0 terminated list */ int sum(int i, ...) { va_list ap; int arg; int total = i; va_start(ap,i); while ((arg = va_arg(ap,int)) != 0) { total += arg; } va_end(ap); return total; } int main(void) { printf("The total of 1+2+3+4 is %d\n",sum( 1,2,3,4,0)); return 0; }
Комментариев нет:
Отправить комментарий