Variable Arguments in C-Language
Variable Arguments
- Variable length argument is a feature that allows a function to receive any number of arguments.
- There are situations where we want a function to handle variable number of arguments according to requirement.
- Sum of given numbers.
- Minimum of given numbers. and many more.
Syntax:
datatype functionname(datatype,...)
{
...
...
}
void main()
{
functionname(v1,v2,v3);
functionname(v1,v2,v3,v4,v5);
}
/* C Variable Length Arguments - This program
* demonstrates variable length arguments in C
*/
#include<stdio.h>
#include<stdarg.h>
#include<conio.h>
int avg(int num, ...)
{
va_list valist;
int sum = 0;
int i;
// initializing valist for num number of arguments
va_start(valist, num);
// now accessing all the arguments that is assigned to valist
for(i=0; i<num; i++)
{
sum = sum + va_arg(valist, int);
}
// now cleaning the memory reserved for the valist
va_end(valist);
return sum/num;
}
void main()
{
int num1=10, num2=20, num3=30;
clrscr();
printf("The average is %d", avg(3, num1, num2, num3));
getch();
}
Output:
The average is 20
No comments:
Post a Comment