Call Funev (3/2 >; 0) This condition holds, so fun( 1) is executed because 3/2= 1.
Call funif (1/2 > for the second time; 0) This condition is invalid because 1/2=0.
Print x= 1 because the second call parameter x is 1.
The second pleasure is over.
Print x=3 The parameter in the first call is 3.
(The second call just copies the value of X/2 as a parameter and passes it to the function without changing the original value of x).
The first call is over.
Print carriage return
end of program
Result: 13\N
The fun function will divide a number x by 2 until the result is 1, and then reverse all the division results from small to large.
For example, enter 20 results: 1 2 5 10 20.