👤

Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare a apelului

f(12345);?

void f(long n)

{ cout< if(n!=0)

{ f(n/100); cout<}

Ajutor va rog cu o explicatie, am facut mi-a dat 5310 dar nu e bine si undeva gresesc si am nevoie de ajutor sa inteleg.


Răspuns :

Răspuns:

5310135

Explicație:

void f(long n)

{

cout<< n%10;

if(n!=0)

{ f(n/100); cout<<n%10;}

}

f(12345);

Stack(si ce afiseaza fiecare apel): f(12345) "5" -> f(123) "3" -> f(1) "1" -> f(0) "0"

Dupa, de la apelul f(0), executia se intoarce la f(1), mai afiseaza o data cifra 1, se intoarce la apelul f(123), mai afiseaza o data cifra 3, se intoarce la apelul f(12345) si mai afiseaza o data cifra 5(si aici se termina)

Afisat: "5310135"