/* va_arg example */
#include <stdio.h>
#include <stdarg.h>
void PrintLines (char* first, ...)
{
char* str;
va_list vl;
str=first;
va_start(vl,first);
do {
str=va_arg(vl,char*);
if
printf ("%s\n",str);
} while (str!=NULL);
va_end(vl);
}
int main()
{
PrintLines ("First","Second","Third","Fourth",NULL);
return 0;
}
我們可以調用PrintLines
這樣的PrintLines("First","Second","Third",6,NULL);
函數,它的整數作爲變量參數列表的一部分。如果是的話,請解釋如何做到這一點?可變長度參數列表
您將代碼標記爲'C++',但代碼本身純粹爲'C'。這裏的語言確實很重要,因爲使用'C++'你最好使用可變參數模板。 – Lol4t0
你可以但事情是你用char *類型調用va_arg,所以它會將6解釋爲指向字符(或字符串)的指針,當你用%s做printf時會給你一些問題。爲什麼不傳遞字符串文字「6」? –
@ Lol4t0:在編寫C++時,使用C中不存在的功能不是強制性的。感謝您不要刪除C++標籤。 –