Функции с переменным числом параметров - C (СИ)
Формулировка задачи:
Ребят, всем привет. У меня к вам небольшой вопрос. Я ищу теоретический материал на вот такую тему:
"Функции с переменным числом параметров. Подключение stdarg.h. Средства работы и макросы. Операции для правильности обратно полученных аргументов."
Никак не могу понять, что имеется в виду под "Операции для правильности обратно полученных аргументов."...
В интернете тоже особо никакой информации не могу найти(
Решение задачи: «Функции с переменным числом параметров»
textual
Листинг программы
#include <stdio.h>
#include <stdarg.h>
void
foo(char *fmt, ...)
{
va_list ap;
int d;
char c, *s;
va_start(ap, fmt);
while (*fmt)
switch (*fmt++) {
case 's': /* string */
s = va_arg(ap, char *);
printf("string %s\n", s);
break;
case 'd': /* int */
d = va_arg(ap, int);
printf("int %d\n", d);
break;
case 'c': /* char */
/* need a cast here since va_arg only
takes fully promoted types */
c = (char) va_arg(ap, int);
printf("char %c\n", c);
break;
}
va_end(ap);
}