c语言可变参数
#include <stdio.h>
#include <stdarg.h>
void test(int num, ...)
{
int i;
char temp;
va_list ap;
va_start(ap, num); // ap指向第一个参数
for(i = 0; i < num; i++)
{
temp = va_arg(ap, char); // ap从第一个可变参数开始,逐个向后移动
printf("%c ", temp);
}
printf("/n");
va_end(ap);
}
int main()
{
test(1, 'a');
test(2, 'a', 'b');
test(3, 'a', 'b', 'c');
return 0;
}
运行结果:
a
a b
a b c
#include <stdio.h>
#include <stdarg.h>
void test(int num, ...)
{
int i;
char temp;
va_list ap;
va_start(ap, num); // ap指向第一个参数
for(i = 0; i < num; i++)
{
temp = va_arg(ap, char); // ap从第一个可变参数开始,逐个向后移动
printf("%c ", temp);
}
printf("/n");
va_end(ap);
}
int main()
{
test(1, 'a');
test(2, 'a', 'b');
test(3, 'a', 'b', 'c');
return 0;
}
运行结果:
a
a b
a b c