Here is a listing of C interview questions on “Variable Length Argument” along with answers, explanations and/or solutions:
1.The standard header _______ is used for variable list arguments (…) in C.
a) <stdio.h >
b) <stdlib.h>
c) <math.h>
d) <stdarg.h>
2. va_end does whatever.
a) Cleanup is necessary
b) Bust be called before the program returns.
c) Both a &
d) None of the mentioned
3. What is the output of this C code?
#include <stdio.h>
int f(char chr, ...);
int main()
{
char c = 97;
f(c);
return 0;
}
int f(char c, ...)
{
printf("%c\n", c);
}a) Compile time error
b) Undefined behaviour
c) 97
d) a
4. What is the output of this C code?
#include <stdio.h>
#include <stdarg.h>
int f(...);
int main()
{
char c = 97;
f(c);
return 0;
}
int f(...)
{
va_list li;
char c = va_arg(li, char);
printf("%c\n", c);
}a) Compile time error
b) Undefined behaviour
c) 97
d) a
5. What is the output of this C code?
#include <stdio.h>
#include <stdarg.h>
int f(char c, ...);
int main()
{
char c = 97, d = 98;
f(c, d);
return 0;
}
int f(char c, ...)
{
va_list li;
va_start(li, c);
char d = va_arg(li, char);
printf("%c\n", d);
va_end(li);
}a) Compile time error
b) Undefined behaviour
c) a
d) b
6. What is the output of this C code?
#include <stdio.h>
#include <stdarg.h>
int f(char c, ...);
int main()
{
char c = 97, d = 98;
f(c, d);
return 0;
}
int f(char c, ...)
{
va_list li;
va_start(li, c);
char d = va_arg(li, int);
printf("%c\n", d);
va_end(li);
}a) Compile time error
b) Undefined behaviour
c) a
d) b
7. What is the output of this C code?
#include <stdio.h>
#include <stdarg.h>
int f(int c, ...);
int main()
{
int c = 97;
float d = 98;
f(c, d);
return 0;
}
int f(int c, ...)
{
va_list li;
va_start(li, c);
float d = va_arg(li, float);
printf("%f\n", d);
va_end(li);
}a) Compile time error
b) Undefined behaviour
c) 97.000000
d) 98.000000