C++ Programming Multiple Choice Questions focuses on “Unspecified Number of Arguments”. One shall practice these questions to improve their C++ programming skills needed for various interviews exams and other competitive exams. These questions can be attempted by anyone focusing on learning C++ programming language. They can be a beginner, fresher, engineering graduate or an experienced IT professional. Our C++ questions comes with detailed explanation of the answers which helps in better understanding of C++ concepts.
C++ Programming Questions & Answers focuses on “Unspecified Number of Arguments” along with answers, explanations and/or solutions:
Q 1. Which header file is used to pass unknown number of arguments to function?
A. stdarg.h
B. string.h
C. stdlib.h
D. stdio.h
Show Answer
Answer:-A. stdarg.hExplanation
Because the cstdarg defines this header file to process the unknown number of arguments.Q 2. How can you access the arguments that are manipulated in the function?
A. arg_list
B. va_list
C. both va_list & arg_list
D. vg_list
Show Answer
Answer:-B. va_listExplanation
va_list is provided by C++ to access manipulated arguments in function.Q 3. What will be the output of the following C++ code?
- #include <iostream>
- #include <stdarg.h>
- using namespace std;
- float avg( int Count, … )
- {
- va_list Numbers;
- va_start(Numbers, Count);
- int Sum = 0;
- for (int i = 0; i < Count; ++i )
- Sum += va_arg(Numbers, int);
- va_end(Numbers);
- return (Sum/Count);
- }
- int main()
- {
- float Average = avg(10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
- cout << “Average of first 10 whole numbers : ” << Average;
- return 0;
- }
A. 4
B. 5
C. 6
D. 7
Show Answer
Answer:-A. 4Explanation
We are just calculating the average of these numbers using cstdarg. Output: $ g++ uka.cpp $ a.out Average of first 10 whole numbers 4Q 4. What is the maximum number of arguments or parameters that can be present in one function call?
A. 64
B. 254
C. 255
D. 256
Show Answer
Answer:-D. 256Explanation
C++ allows maximum number of 256 arguments in a function call.Q 5. What will be the output of the following C++ code?
- #include <iostream>
- #include <stdarg.h>
- using namespace std;
- int add (int num, …)
- {
- int sum = 0;
- va_list args;
- va_start (args,num);
- for (int i = 0; i < num; i++)
- {
- int num = va_arg (args,int);
- sum += num;
- }
- va_end (args);
- return sum;
- }
- int main (void)
- {
- int total = add(8, 1, 2, -1, 4, 12, -2, 9, 7);
- cout << “The result is ” << total;
- return 0;
- }
A. 23
B. 32
C. 48
D. compile time error
Show Answer
Answer:-B. 32Explanation
We are adding these numbers by using for statement and stdarg. Output: $ g++ uka.cpp $ a.out The result is 32Q 6. What will be the output of the following C++ code?
- #include <iostream>
- #include <stdarg.h>
- using namespace std;
- 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);
- cout << i;
- }
- va_end(p);
- }
A. 2436
B. 48697
C. 1111111
D. compile time error
Show Answer
Answer:-B. 48697Explanation
In this program, we are eradicating the first value by comparing using while operator. Output: $ g++ rka3.cpp $ a.out 48697Q 7. What will be the output of the following C++ code?
- #include <iostream>
- #include <stdarg.h>
- using namespace std;
- int flue(char c,…);
- int main()
- {
- int x, y;
- x = flue(‘A’, 1, 2, 3);
- y = flue(‘1’, 1.0,1, ‘1’, 1.0f, 1l);
- cout << x << y;
- return 0;
- }
- int flue(char c,…)
- {
- return c;
- }
A. 4965
B. 6549
C. 6646
D. compile time error
Show Answer
Answer:-B. 6549Explanation
In this program, we are returning the ascii value of the character and printing it. Output: $ g++ rka4.cpp $ a.out 6549Q 8. Which of the header file should be added in the following C++ code to properly run the program?
- #include <iostream>
- using namespace std;
- int print_all (int num, …)
- {
- int sum = 0;
- va_list args;
- va_start (args,num);
- for (int i = 0; i < num; i++)
- {
- int num = va_arg (args,int);
- cout<<num<<” “;
- }
- va_end (args);
- return sum;
- }
- int main (void)
- {
- print_all(8, 1, 2, -1, 4, 12, -2, 9, 7);
- return 0;
- }
A. stdlib.h
B. stdarg.h
C. string.h
D. stdpar.h
Show Answer
Answer:-B. stdarg.hExplanation
Q 9. What will be the output of the following C++ code?
- #include <iostream>
- #include <stdarg.h>
- using namespace std;
- void fun(std::string msg, …);
- int main()
- {
- fun(“IndiaBIX”, 1, 4, 7, 11, 0);
- return 0;
- }
- void fun(std::string msg, …)
- {
- va_list ptr;
- int num;
- va_start(ptr, msg);
- num = va_arg(ptr, int);
- num = va_arg(ptr, int);
- cout << num;
- }
A. 4
B. 5
C. 6
D. 8
Show Answer
Answer:-A. 4Explanation
In this program, we are moving the pointer to the second value and printing it. Output: $ g++ uka6.cpp $ a.out 4Q 10. What will initialize the list of arguments in stdarg.h header file?
A. va_list
B. va_start
C. va_arg
D. vg_arg
Leave a Reply