C Programming - Variable Number of Arguments - Discussion
Discussion Forum : Variable Number of Arguments - Point Out Errors (Q.No. 3)
3.
Point out the error in the following program.
#include<stdio.h>
#include<stdarg.h>
void varfun(int n, ...);
int main()
{
varfun(3, 7, -11, 0);
return 0;
}
void varfun(int n, ...)
{
va_list ptr;
int num;
num = va_arg(ptr, int);
printf("%d", num);
}
Answer: Option
Explanation:
Using va_start(ptr, int);
Discussion:
4 comments Page 1 of 1.
Vashalakshi said:
9 years ago
@Prakhar.
It is a recursion the ans is 9.
Because wen the value of x is <= 1 it returns 1.
t = sum(6-1) + sum(6-3)
t = sum(5) + sum(3)
sum(5) = sum(4) + sum(2)
sum(3) = sum(2) + sum(0)
sum(4) = sum(3) + sum(1)
sum(2) = sum(1) + sum(-1)
the condition is when x <=1 it return 1
So sum(2) = 1 +1 = 2
Means sum(-1) = sum(0) = 1 only
So, by adding all values it gives 9 as output.
Thank you have a nice day.
It is a recursion the ans is 9.
Because wen the value of x is <= 1 it returns 1.
t = sum(6-1) + sum(6-3)
t = sum(5) + sum(3)
sum(5) = sum(4) + sum(2)
sum(3) = sum(2) + sum(0)
sum(4) = sum(3) + sum(1)
sum(2) = sum(1) + sum(-1)
the condition is when x <=1 it return 1
So sum(2) = 1 +1 = 2
Means sum(-1) = sum(0) = 1 only
So, by adding all values it gives 9 as output.
Thank you have a nice day.
Prakhar said:
1 decade ago
#include<stdio.h>
int sum(int);
int main()
{
int i;
i=sum(6);
printf("%d",i);
return 0;
}
int sum(int x)
{
int t;
if(x<=1)
return 1;
t=sum(x-1)+sum(x-3);
return t;
}
Please explain this question.
int sum(int);
int main()
{
int i;
i=sum(6);
printf("%d",i);
return 0;
}
int sum(int x)
{
int t;
if(x<=1)
return 1;
t=sum(x-1)+sum(x-3);
return t;
}
Please explain this question.
Manbir cheema said:
1 decade ago
using va_start(ptr,n);
Nuzhat said:
1 decade ago
nt va_start(ptr,int) bt va_start(ptr,n)
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers