我正在學習cd中的stdarg.h,我試圖打印所有傳遞給函數的參數,但不知道有多少個參數,但是我還沒有想出解決方案,在這發生過程中,無論發生什麼我傳遞給strtest。 它總是打印0. 1. 2. 3.va_arg總是運行4次
void strtest(char *fmt, ...){
va_list argp;
int i = 0;
va_start(argp, fmt);
while(va_arg(argp, char*))
printf("%d\t", i++);
va_end(argp);
}
int main(int argc, char *argv[]){
strtest("s");
printf("\n");
return 0;
}
看到這個http://stackoverflow.com/questions/1688942/variable-arguments-in-c-how-to-get-values-with-a-generic-type的方式來做到這一點。我不確定這是否符合標準,但取決於環境使得OP能夠工作。 – JJF
@JJF這個問題是關於參數類型,而不是參數的數量。那裏有一個特定的答案,告訴你如何獲得計數? – Barmar
查看帶有va_start(ap,count)的部分; for(i = 0; i
JJF