C语言可变参数全解 (二)

2014-11-24 00:36:28 · 作者: · 浏览: 81
printf ("%s\n",str);
str=va_arg(vl,char*);
} while (str!=NULL);

va_end(vl);
}

int main ()
{
PrintLines ("First","Second","Third","Fourth",NULL);
return 0;
}

/* va_arg example */
#include
#include

void PrintLines ( char* first, ...)
{
char* str;
va_list vl;

str=first;

va_start(vl,first);

do {
printf ("%s\n",str);
str=va_arg(vl,char*);
} while (str!=NULL);

va_end(vl);
}

int main ()
{
PrintLines ("First","Second","Third","Fourth",NULL);
return 0;
}
PrintLines函数使用了可变参数。第一个传递的参数是first,但是余下的参数都是在do-while循环中使用
va_arg一次获得了,该循环在获取的可变参数为null指针的时候结束。

摘自 chenlong12580的专栏