C++ Programming - Functions - Discussion
Discussion Forum : Functions - Programs (Q.No. 1)
1.
What will be the output of the following program?
#include<iostream.h>
long BixFunction(int x, int y = 5, float z = 5)
{
return(++x * ++y + (int)++z);
}
int main()
{
cout<< BixFunction(20, 10);
return 0;
}
Discussion:
16 comments Page 2 of 2.
Tsaone mogotetsi said:
1 decade ago
237 is the correct answer because on the output concept there's been a new assignment to the variables which lives 'z' out therefore living us to calculate on its default assigned value and the new assigned values of x and why.
Dev said:
1 decade ago
There is "No ERROR" and 237 is the correct answer described by '@Bala'.
Vicky said:
1 decade ago
Actually here in the main function the function called bixfunction is being called upon by invoking 2 arguments which won't happen because the bixfunction has 3 arguments to set it to operate for the values being sent to bixfunction. So the program will terminate due to calling a function which is not available.
Arunakiri said:
1 decade ago
Default arguments pass the values from right to left order in called function.
Bala said:
1 decade ago
Here from the main function,
x=20,
y=10,
z=5 (as it is from the function definition)
So the computation for
(++x * ++y) + ++z
goes like
++x = 21
++y = 11
21*11 = 231
++z = 6
231 + 6 = 237.
x=20,
y=10,
z=5 (as it is from the function definition)
So the computation for
(++x * ++y) + ++z
goes like
++x = 21
++y = 11
21*11 = 231
++z = 6
231 + 6 = 237.
Ranjith said:
1 decade ago
Please any one explain me, how this method takes two arguments?
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers