C语言可变参数函数示例

#include <stdio.h>
#include <stdarg.h>

int demo(char *msg, ...)
{
	va_list argp;
	int num = 0;
	char *para;	
	va_start(argp, msg);
	
	while(1) {
		para = va_arg(argp, char *);
		if (strcmp(para, "\0") == 0)
			break;
		printf("parameter #%d is: %s\n", num, para);
		num++;
	}
	va_end(argp);
	return 0;
}

int main()
{
	demo("DEMO","this","is","a","demo","\0");
	return 0;
}

说明:va_start(va_list类型参数, 最后一个确定参数)
va_arg(va_list类型参数, 类型参数)
va_end(va_list类型参数)

程序运行结果:

C语言可变参数函数示例

你可能感兴趣的:(可变参数)