Variable Number of Arguments

Q1:
What will be the output of the program?
#include<stdio.h>
#include<stdarg.h>
void fun1(char, int, int *, float *, char *);
void fun2(char ch, ...);
void (*p1)(char, int, int *, float *, char *);
void (*p2)(char ch, ...);

int main()
{
    char ch='A'; int i=10;
    float f=3.14; char *p='Hello';
    p1=fun1;
    p2=fun2;
    (*p1)(ch, i, &i, &f, p);
    (*p2)(ch, i, &i, &f, p);
    return 0;
}
void fun1(char ch, int i, int *pi, float *pf, char *p)
{
    printf('%c %d %d %f %s \n', ch, i, *pi, *pf, p);
}
void fun2(char ch, ...)
{
    int i, *pi; float *pf; char *p;
    va_list list;
    printf('%c ', ch);
    va_start(list, ch);
    i = va_arg(list, int);
    printf('%d ', i);
    
    pi = va_arg(list, int*);
    printf('%d ', *pi);
    pf = va_arg(list, float*);
    printf('%f ', *pf);
    p = va_arg(list, char *);
    printf('%s', p);
}

A A 10 3.14
A 10 3.14

B A 10 10 3.140000 Hello
A 10 10 3.140000 Hello

C A 10 Hello
A 10 Hello

D Error

ANS:A - A 10 3.14
A 10 3.14

No answer description is available. Let's discuss.



img not found
img

For help Students Orientation
Mcqs Questions

One stop destination for examination, preparation, recruitment, and more. Specially designed online test to solve all your preparation worries. Go wherever you want to and practice whenever you want, using the online test platform.