C Programming - Variable Number of Arguments

Why C Programming Variable Number of Arguments?

In this section you can learn and practice C Programming Questions based on "Variable Number of Arguments" and improve your skills in order to face the interview, competitive examination and various entrance test (CAT, GATE, GRE, MAT, Bank Exam, Railway Exam etc.) with full confidence.

Where can I get C Programming Variable Number of Arguments questions and answers with explanation?

IndiaBIX provides you lots of fully solved C Programming (Variable Number of Arguments) questions and answers with Explanation. Solved examples with detailed answer description, explanation are given and it would be easy to understand. All students, freshers can download C Programming Variable Number of Arguments quiz questions with answers as PDF files and eBooks.

Where can I get C Programming Variable Number of Arguments Interview Questions and Answers (objective type, multiple choice)?

Here you can find objective type C Programming Variable Number of Arguments questions and answers for interview and entrance examination. Multiple choice and true or false type questions are also provided.

How to solve C Programming Variable Number of Arguments problems?

You can easily solve all kind of C Programming questions based on Variable Number of Arguments by practicing the objective type exercises given below, also get shortcut methods to solve C Programming Variable Number of Arguments problems.

Exercise :: Variable Number of Arguments - Find Output of Program

1. 

What will be the output of the program?

#include<stdio.h>
#include<stdarg.h>
void fun(char *msg, ...);

int main()
{
    fun("IndiaBIX", 1, 4, 7, 11, 0);
    return 0;
}
void fun(char *msg, ...)
{
    va_list ptr;
    int num;
    va_start(ptr, msg);
    num = va_arg(ptr, int);
    num = va_arg(ptr, int);
    printf("%d", num);
}

A. IndiaBIX 1 7 11 0
B. 1
C. 4
D. 7

Answer: Option C

Explanation:

No answer description available for this question. Let us discuss.

2. 

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

Answer: Option B

Explanation:

No answer description available for this question. Let us discuss.

3. 

What will be the output of the program?

#include<stdio.h>
#include<stdarg.h>
void dumplist(int, ...);

int main()
{
    dumplist(2, 4, 8);
    dumplist(3, 6, 9, 7);
    return 0;
}
void dumplist(int n, ...)
{
    va_list p; int i;
    va_start(p, n);

    while(n-->0)
    {
        i = va_arg(p, int);
        printf("%d", i);
    }
    va_end(p);
    printf("\n");
}

A. 2 4
3 6
B. 2 4 8
3, 6, 9, 7
C. 4 8
6 9 7
D. 1 1 1
1 1 1 1

Answer: Option C

Explanation:

No answer description available for this question. Let us discuss.

4. 

What will be the output of the program?

#include<stdio.h>
#include<stdarg.h>
void display(int num, ...);

int main()
{
    display(4, 'A', 'B', 'C', 'D');
    return 0;
}
void display(int num, ...)
{
    char c, c1; int j;
    va_list ptr, ptr1;
    va_start(ptr, num);
    va_start(ptr1, num);
    for(j=1; j<=num; j++)
    {
        c = va_arg(ptr, int);
        printf("%c", c);
        c1 = va_arg(ptr1, int);
        printf("%d\n", c1);
    }
}

A. A, A
B, B
C, C
D, D
B. A, a
B, b
C, c
D, d
C. A, 65
B, 66
C, 67
D, 68
D. A, 0
B, 0
C, 0
C, 0

Answer: Option C

Explanation:

No answer description available for this question. Let us discuss.

5. 

What will be the output of the program?

#include<stdio.h>
#include<stdarg.h>
void fun1(int num, ...);
void fun2(int num, ...);

int main()
{
    fun1(1, "Apple", "Boys", "Cats", "Dogs");
    fun2(2, 12, 13, 14);
    return 0;
}
void fun1(int num, ...)
{
    char *str;
    va_list ptr;
    va_start(ptr, num);
    str = va_arg(ptr, char *);
    printf("%s ", str);
}
void fun2(int num, ...)
{
    va_list ptr;
    va_start(ptr, num);
    num = va_arg(ptr, int);
    printf("%d", num);
}

A. Dogs 12
B. Cats 14
C. Boys 13
D. Apple 12

Answer: Option D

Explanation:

No answer description available for this question. Let us discuss.


Have a question?

Ask your question now !

Create your own website ?

Web Hosting Services in India