+ 8
[SOLVED] What will be the output of this code segment?
precondition: x>=0; void demo(int x) { cout<<x%10; if(x/10!=10) { demo(x/10); } cout<<x%10; } input x=1234 Please explain how does this recursive function work? Please explain step by step. Thanks.
6 Réponses
+ 12
input x = 1234
cout<<x%10
=4
if(4!=0) true so demo x/10=123
now again x%10=123%10=3
=3
if cond. true so demo x/10=12
again x%10=2
=2
if **** true so **** x/10=1
again x%10=1
=1
x/10=1/10=0
if cond false so loop terminates....
output=4321
I hope this helps😊😊😊 it just inverse the input
well u have specified wrong cond. of if
it should be if(x/10!=0)
if it is true then pre cond. should be x>0...
otherwise it will loop infinitely.
+ 1
i think it will be infinite recursion.
0
The program enters the user during the morning and evening and the night and the program printing period in the hours of morning
can you help me The fastest speed
0
plaese
- 1
Agree with everybody but Deoanshu is the most accurate.
Initially x0 =1234 and demo only runs if x >=0
Original call demo(x0)
Output 4
If0 x0/10 =123=x1!=10 then demo(x1)
Output 4
Sub run on x1 demo(x1) x1>=0
Output 3
If0 x1/10 =12=x2!=10 then demo(x2)
Output 3
Sub run on x2 demo(x2) x2>=0
Output 2
If0 x2/10 =1=x3!=10 then demo(x3)
Output 2
Sub run on x3 demo(x3) x3>=0
Output 1
If0 x3/10 =0=x4!=10 then demo(x4)
Output 1
***infinite loop error
Sub run on x4 demo(x4) x4>=0
Output 0
If0 x4/10 =0=x5!=10 then demo(x5)
Output 0
So the output would be 43210000....infinity crash out of memory
If x>0 it depends where in demo function.
If around entire body then output should 43211234
If before recursive demo call
4321001234