How to use explicit count argument to determine the length of va_list (count of the other arguments) in C

1 Answer

0 votes
#include <stdio.h>
#include <stdarg.h>

int sum(int n, ...) 
{
    int sum = 0;
    va_list va; 

    va_start(va, n); 
    
    while (n--)
      sum += va_arg(va, int);
    
    va_end(va); 

    return sum;
}

int main(void)
{
    printf("%d\n", sum(5, 1, 2, 3, 4, 5)); 
    
    printf("%d\n", sum(7, 3, -2, 10, 4, 8, 99, -100)); 
    
    return 0;
}


    
/*
run:
 
15
22
   
*/

 



answered Aug 16, 2017 by avibootz
...