Write a program to add all the function arguments(parameters) without passing number of parameter as one of the argument.
#include<stdio.h> #include<stdarg.h> int sum(int,...); int main() { printf("Sum = %d\n",sum(1,10,20,0)); printf("Sum = %d\n",sum(1,10,20,30,0)); printf("Sum = %d\n",sum(1,10,20,30,40,45,45,4,54,5,45,0)); printf("Sum = %d\n",sum(1,10,20,30,40,50,0)); printf("Sum = %d\n",sum(1,10,20,30,40,50,60,0)); return 0; } int sum(int i,...) { int s = 0,n; va_list t; va_start(t,i); while(1) { n = va_arg(t,int); //printf("%d\n",n); if(n == 0) break; s = s + n; } va_end(t); return s; }
Output
Sum = 30 Sum = 60 Sum = 298 Sum = 150 Sum = 210