Home / C Programming / Variable Number of Arguments :: Discussion

Discussion :: Variable Number of Arguments

  1. What will be the output of the program?

     #include
     #include 
     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);
     }
    

  2. 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

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    No answer description available for this question.


Be The First To Comment