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.
Alexandru987:
imi tot da eroare si nu-mi apare dar e cout<< modulo 10
{ cout< if(n!=0)
{ f(n/100); cout<
Răspunsuri la întrebare
Răspuns de
3
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"
Alte întrebări interesante
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă