Curioustab
Aptitude
General Knowledge
Verbal Reasoning
Computer Science
Interview
Aptitude
General Knowledge
Verbal Reasoning
Computer Science
Interview
Home
»
C Programming
»
Variable Number of Arguments
Point out the error in the following program. #include
#include
void display(char *s, ...); void show(char *t, ...); int main() { display("Hello", 4, 12, 13, 14, 44); return 0; } void display(char *s, ...) { show(s, ...); } void show(char *t, ...) { int a; va_list ptr; va_start(ptr, s); a = va_arg(ptr, int); printf("%f", a); }
Error: invalid function display() call
Error: invalid function show() call
No error
Error: Rvalue required for t
Correct Answer:
Error: invalid function show() call
Explanation:
The call to
show()
is improper. This is not the way to pass variable argument list to a function.
← Previous Question
Next Question→
More Questions from
Variable Number of Arguments
Point out the error in the following program. #include
#include
void varfun(int n, ...); int main() { varfun(3, 7, -11.2, 0.66); return 0; } void varfun(int n, ...) { float *ptr; int num; va_start(ptr, n); num = va_arg(ptr, int); printf("%d", num); }
The macro va_start is used to initialise a pointer to the beginning of the list of fixed arguments.
A function that receives variable number of arguments should use va_arg() to extract the last argument from the variable argument list.
va_list is an array that holds information needed by va_arg and va_end
The macro va_arg is used to extract an argument from the variable argument list and advance the pointer to the next argument.
A function that receives variable number of arguments should use va_arg() to extract arguments from the variable argument list.
For a function receives variable number of arguments it is necessary that the function should receive at least one fixed argument.
In a function that receives variable number of arguments the fixed arguments passed to the function can be at the end of argument list.
It is necessary to call the macro va_end if va_start is called in the function.
Can we pass a variable argument list to a function at run-time?
Discussion & Comments
No comments yet. Be the first to comment!
Name:
Comment:
Post Comment
Join Discussion
Discussion & Comments