Write a program to add all the arguments of a function, pass all the floats as parameter.
#include<stdio.h> #include<stdarg.h> float Calculate_sum(int,...); int main() { float sum; sum = Calculate_sum(2,10.4,20.5); printf("Sum = %f\n",sum); sum = Calculate_sum(3,10.1,20.2,30.3); printf("Sum = %f\n",sum); sum = Calculate_sum(4,10.4,20,30,40); printf("Sum = %f\n",sum); sum = Calculate_sum(5,10.3,20,30,40.4,50); printf("Sum = %f\n",sum); return 0; } float Calculate_sum(int n, ...) { va_list v; float sum = 0.0,num; int i; va_start(v,n); for(i = 0;i < n;i++) { num = va_arg(v,double); sum += num; } va_end(v); return sum; }
Output
Sum = 30.900000 Sum = 60.599998 Sum = 40.699989 Sum = 50.700001