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;
}
237
242
240
35
The program will report error on compilation.
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
16 comments Page 1 of 2.

Srijan s said:   4 years ago
I think there will be an error as there are only two parameters passed where as in function definition we can clearly see there are 3 variables.
(1)

Gopi said:   5 years ago
Gives error.

use #include<iostream> instead #include<iostream.h>

Sindhu said:   8 years ago
What does the Bixfunction (20, 10) mean ?

If it indicates x=20, y=10, but y=5 was given in declaration ?
(1)

Jaideep gupta said:   10 years ago
Ya I computed in the values written in main function overwritten the values present in bix function.

Patel Ravi said:   1 decade ago
Nice programming language.

Aish said:   1 decade ago
See in float z = 5.0 then in int z = 5 we can take like this. I am right?
(1)

Archana said:   1 decade ago
There are two data types for variable z. How it is possible?

Can anyone explain?

Vinay said:   1 decade ago
Why not error?

Ameet said:   1 decade ago
x and y always refer the current value passed into 2nd fun so x will become 20 and y become 10. Whenever the pointer goes into the return that time x will become 21 and y will be 11 and z will be 6.21*11+6=237 that is final answer.
(1)

Rajat Ravi said:   1 decade ago
Solution:

x = 20.
y = 10.
z = 5.

++x = 21.
++y = 11.
++z = 6.

21*11+6 = 237.
(6)


Post your comments here:

Your comments will be displayed after verification.