可変長引数
stdarg.hをインクルードする必要があるらしい。
/* ======================= */
/* === Include library === */
/* ======================= */
#include <stdio.h>
#include <stdarg.h>
#include <assert.h>
/* ================= */
/* === Functions === */
/* ================= */
void tiny_printf(char *format, ...)
{
int i;
va_list ap;
va_start(ap, format);
for (i = ; format[i] != '\0'; i++)
{
switch (format[i]){
case 's':
printf("%s ", va_arg(ap, char*));
break;
case 'd':
printf("%d ", va_arg(ap, int));
break;
default:
assert();
}
}
va_end(ap);
putchar('\n');
}
int main(void)
{
tiny_printf("sdd", "result...", 3, 5);
return ;
}