C Programming - Variable Number of Arguments - Discussion
Discussion Forum : Variable Number of Arguments - Find Output of Program (Q.No. 1)
1.
What will be the output of the program?
#include<stdio.h>
#include<stdarg.h>
void fun(char *msg, ...);
int main()
{
fun("IndiaBIX", 1, 4, 7, 11, 0);
return 0;
}
void fun(char *msg, ...)
{
va_list ptr;
int num;
va_start(ptr, msg);
num = va_arg(ptr, int);
num = va_arg(ptr, int);
printf("%d", num);
}
Discussion:
34 comments Page 2 of 4.
Pruthvi said:
1 decade ago
What does int in va_arg(ptr, int) indicates? and is there any case where we can use char over there?
AMITH said:
1 decade ago
We can also use va_arg(ptr, char);
It depends on the variable arguments ur passing to the function
Ex: fun("IndiaBIX", 'I','N','D','I','A' );
It depends on the variable arguments ur passing to the function
Ex: fun("IndiaBIX", 'I','N','D','I','A' );
Kiran said:
1 decade ago
@irshad::thanks for your explination.
Abhilash bhaduri said:
1 decade ago
In 1 place in random test you say that va_end should be present for every va_start. But here it compiles with no error. How?
Akash Kharade said:
1 decade ago
Thanx friends.....now i got it.
Avijit_softlove said:
1 decade ago
#include<stdio.h>
#include<stdarg.h>
void fun(char *msg, ...);
int main()
{
fun("IndiaBIX", 1, 4, 7, 11, 0);
return 0;
}
void fun(char *msg, ...)
{
va_list ptr; /* create a new list ptr */
int num;
va_start(ptr, msg); /* attach ptr with msg */
num = va_arg(ptr, int); /* fetch 2nd argument */
num = va_arg(ptr, int); /* fetch 3rd argument */
printf("%d", num);
}
#include<stdarg.h>
void fun(char *msg, ...);
int main()
{
fun("IndiaBIX", 1, 4, 7, 11, 0);
return 0;
}
void fun(char *msg, ...)
{
va_list ptr; /* create a new list ptr */
int num;
va_start(ptr, msg); /* attach ptr with msg */
num = va_arg(ptr, int); /* fetch 2nd argument */
num = va_arg(ptr, int); /* fetch 3rd argument */
printf("%d", num);
}
Arun said:
1 decade ago
Can anyone tell me application of multi argument function, real world application?
Manjiri said:
1 decade ago
What va_arg(ptr,int) do?
Akash said:
1 decade ago
What does it mean va_start(ptr, msg);?
Lavanya said:
1 decade ago
#include<stdio.h>
#include<stdarg.h>
void fun(char *msg, ...);
int main()
{
fun("IndiaBIX", 1, 4, 7, 11, 0);
return 0;
}
void fun(char *msg, ...)
{
va_list ptr; /* create a new list ptr */
int num;
va_start(ptr, msg); /* attach ptr with msg */
num = va_arg(ptr, int); /* fetch 2nd argument */
num = va_arg(ptr, int); /* fetch 3rd argument */
printf("%d", num);
}
#include<stdarg.h>
void fun(char *msg, ...);
int main()
{
fun("IndiaBIX", 1, 4, 7, 11, 0);
return 0;
}
void fun(char *msg, ...)
{
va_list ptr; /* create a new list ptr */
int num;
va_start(ptr, msg); /* attach ptr with msg */
num = va_arg(ptr, int); /* fetch 2nd argument */
num = va_arg(ptr, int); /* fetch 3rd argument */
printf("%d", num);
}
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers