Argument Passing(C++ Programming ) Questions and Answers
Question 1.
What is the output of this program?
1. #include 2. using namespace std; 3. void Sum(int a, int b, int & c) 4. { 5. a = b + c; 6. b = a + c; 7. c = a + b; 8. } 9. int main() 10. { 11. int x = 2, y =3; 12. Sum(x, y, y); 13. cout
2 3
6 9
2 15
compile time error
Explanation:-
Answer: Option C. -> 2 15
We have passed three values and it will manipulate according to the given condition and yield
the result as 2 15 Output: $ g++ arg.cpp $ a.out 2 15
Question 2.
What will happen when we use void in argument passing?
It will not return value to its caller
It will return value to its caller
both a & b are correct
none of the mentioned
Explanation:-
Answer: Option A. -> It will not return value to its caller
As void is not having any return value, it will not return the value to the caller.
Question 3.
What is the output of this program?
1. #include 2. using namespace std; 3. int add(int a, int b); 4. int main() 5. { 6. int i = 5, j = 6; 7. cout
11
12
13
compile time error
Explanation:-
Answer: Option C. -> 13
The value of a has been changed to 7, So it returns as 13. Output: $ g++ arg1.cpp $ a.out 13
Question 4.
What is the output of this program?
1. #include 2. using namespace std; 3. void square (int *x) 4. { 5. *x = (*x + 1) * (*x); 6. } 7. int main ( ) 8. { 9. int num = 10; 10. square(&num); 11. cout
100
compile time error
144
110
Explanation:-
Answer: Option D. -> 110
We have increased the x value in operand as x+1, so it will return as 110. Output: $ g++ arg2.cpp $ a.out 110
Question 5.
What is the output of this program?
1. #include 2. using namespace std; 3. long FACTORIAL (long a) 4. { 5. if (a > 1) 6. return (a * factorial (a + 1)); 7. else 8. return (1); 9. } 10. int main () 11. { 12. long num = 3; 13. cout
6
24
segmentation fault
compile time error
Explanation:-
Answer: Option C. -> segmentation fault
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 fault
Question 6.
What is the new value of x?
1. #include 2. using namespace std; 3. void fun(int &x) 4. { 5. x = 20; 6. } 7. int main() 8. { 9. int x = 10; 10. fun(x); 11. cout
10
20
15
none of the mentioned
Explanation:-
Answer: Option B. -> 20
As we passed by reference, the value is changed and it is returned as 20. Output: $ g++ arg5.cpp $ a.out 20
Question 7.
By default how the value are passed in c++?
call by value
call by reference
call by pointer
none of the mentioned
Explanation:-
Answer: Option A. -> call by value
None.
Question 8.
What is the output of this program?
1. #include 2. using namespace std; 3. void copy (int& a, int& b, int& c) 4. { 5. a *= 2; 6. b *= 2; 7. c *= 2; 8. } 9. int main () 10. { 11. int x = 1, y = 3, z = 7; 12. copy (x, y, z); 13. cout
2 5 10
2 4 5
2 6 14
none of the mentioned
Explanation:-
Answer: Option C. -> 2 6 14
Because we multiplied the values by 2 in the copy function. Output: $ g++ arg6.cpp $ a.out x = 2,y = 6,z = 14
Question 9.
How many ways of passing a parameter are there in c++?
1
2
3
4
Explanation:-
Answer: Option C. -> 3
There are three ways of passing a parameter. They are pass by value,pass by reference and
pass by pointer.
Question 10.
Which is used to keep the call by reference value as intact?
static
const
absolute
none of the mentioned
Explanation:-
Answer: Option B. -> const
Because const will not change the value of the variables during the execution.