可变参数列表实现printf函数


模拟实现printf函数,可以在屏幕上输出my_printf("sccccc\n","hello",'w','o','r','l','d');

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

int my_printf(char *word, ...)
{
	va_list arg;
	va_start(arg, word);
	while (*word)
	{
		switch (*word)
		{
		case'c':
		{
				   char ch = va_arg(arg, char);
				   putchar(ch);
				   break;
		}
		case's':
		{
				   char *p = va_arg(arg, char*);
				   while (*p)
				   {
					   putchar(*p);
					   p++;
				   }
				   break;
		}
		default:
		{
				   putchar(*word);
				   break;
		}
		}
		word++;
	}
	va_end(arg);
}
int main()
{
	my_printf("sccccc\n", "hello ", 'w', 'o', 'r', 'l', 'd');
	system("pause");
	return 0;
}


你可能感兴趣的:(C语言,可变参数列表)