2013年7月28日

C Variadic function

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>

int sum(char * s, ...) {
  va_list ap;
  int i, argNumbers = atoi(s), sum = 0;
  va_start(ap, s);
  for (i = 0; i < argNumbers; i++)
    sum += va_arg(ap, int);
  va_end(ap);
  return sum;
}

int main() {
  printf("%d\n", sum("3", 1, 2, 3));
  return 0;
}

沒有留言:

張貼留言