C++ programming language. They can be a beginner, fresher, engineering graduate or an experienced IT professional. Our C++ programming questions come with detailed explanation of the answers which helps in better understanding of C++ concepts.
C++ programming questions on “Argument Passing” along with answers, explanations and/or solutions:
Q 1. How many ways of passing a parameter are there in c++?
A. 1
B. 2
C. 3
D. 4
Show Answer
Answer:-C. 3Explanation
There are three ways of passing a parameter. They are pass by value,pass by reference and pass by pointer.Q 2. Which is used to keep the call by reference value as intact?
A. static
B. absolute
C. const
D. virtual
Show Answer
Answer:-C. constExplanation
Because const will not change the value of the variables during the execution.Q 3. By default how the value are passed in c++?
A. call by pointer
B. call by reference
C. call by value
D. call by object
Show Answer
Answer:-C. call by valueExplanation
None.Q 4. What will be the output of the following C++ code?
- #include <iostream>
- using namespace std;
- void copy (int& a, int& b, int& c)
- {
- a *= 2;
- b *= 2;
- c *= 2;
- }
- int main ()
- {
- int x = 1, y = 3, z = 7;
- copy (x, y, z);
- cout << “x =” << x << “, y =” << y << “, z =” << z;
- return 0;
- }
A. 2 5 10
B. 2 4 5
C. 2 4 9
D. 2 6 14
Show Answer
Answer:-D. 2 6 14Explanation
Because we multiplied the values by 2 in the copy function. Output: $ g++ arg6.cpp $ a.out x = 2,y = 6,z = 14Q 5. What will be the new value of x in the following C++ code?
- #include <iostream>
- using namespace std;
- void fun(int &x)
- {
- x = 20;
- }
- int main()
- {
- int x = 10;
- fun(x);
- cout << “New value of x is ” << x;
- return 0;
- }
A. 10
B. 15
C. 20
D. 36
Show Answer
Answer:-C. 20Explanation
As the parameter is passed by reference, the value in the original memory of x is changed hence the output is printed as 20. Output: $ g++ arg5.cpp $ a.out 20Q 6. What will be the output of the following C++ code?
- #include <iostream>
- using namespace std;
- long factorial (long a)
- {
- if (a > 1)
- return (a * factorial (a + 1));
- else
- return (1);
- }
- int main ()
- {
- long num = 3;
- cout << num << “! = ” << factorial ( num );
- return 0;
- }
A. 6
B. 24
C. compile time error
D. segmentation fault
Show Answer
Answer:-D. segmentation faultExplanation
As we have given in the function as a+1, it will exceed the size and so it arises the segmentation fault. Output: $ g++ arg3.cpp $ a.out segmentation faultQ 7. What will be the output of the following C++ code?
- #include <iostream>
- using namespace std;
- void square (int *x)
- {
- *x = (*x + 1) * (*x);
- }
- int main ( )
- {
- int num = 10;
- square(&num);
- cout << num;
- return 0;
- }
A. 100
B. compile time error
C. 144
D. 110
Show Answer
Answer:-D. 110Explanation
We have increased the x value in operand as x+1, so it will return as 110. Output: $ g++ arg2.cpp $ a.out 110Q 8. What will be the output of the following C++ code?
- #include <iostream>
- using namespace std;
- int add(int a, int b);
- int main()
- {
- int i = 5, j = 6;
- cout << add(i, j) << endl;
- return 0;
- }
- int add(int a, int b )
- {
- int sum = a + b;
- a = 7;
- return a + b;
- }
A. 11
B. 12
C. 13
D. compile time error
Show Answer
Answer:-C. 13Explanation
The value of a has been changed to 7, So it returns as 13. Output: $ g++ arg1.cpp $ a.out 13Q 9. What will happen when we use void in argument passing?
A. It will return value to its caller
B. It will not return value to its caller
C. Maybe or may not be return any value to its caller
D. It will return value with help of object
Show Answer
Answer:-B. It will not return value to its callerExplanation
As void is not having any return value, it will not return the value to the caller.Q 10. What will be the output of the following C++ code?
- #include <iostream>
- using namespace std;
- void Sum(int a, int b, int & c)
- {
- a = b + c;
- b = a + c;
- c = a + b;
- }
- int main()
- {
- int x = 2, y =3;
- Sum(x, y, y);
- cout << x << ” ” << y;
- return 0;
- }
A. 2 3
B. 6 9
C. 2 15
D. compile time error
Leave a Reply