Как посчитать количество аргументов, переданных функции в следующей программе:
#include<stdio.h>
#include<stdarg.h>
void varfun(int i, ...);
int main(){
varfun(1, 2, 3, 4, 5, 6);
return 0;
}
void varfun(int n_args, ...){
va_list ap;
int i, t;
va_start(ap, n_args);
for(i=0;t = va_arg(ap, int);i++){
printf("%d", t);
}
va_end(ap);
}
Вывод этой программы через мой компилятор gcc под Ubuntu 10.04:
234561345138032514932134513792
так как найти сколько нет. аргументов фактически переданных в функцию?