Egy függvény meghívhatja önmagát? (C prog. Nyelv)
Figyelt kérdés
pl.
int valami()
{
int a;
.
.
.
a=valami();/* itt hívja meg saját magát*/
.
.
.
}
2012. márc. 6. 18:27
1/5 lindmayer válasza:
puszta logika alapján: NEM
mert ha igen, egy végtelen ciklusba keveredne
2/5 anonim válasza:
Miért ne hívhatná?
Meghívhatja, csak figyelni kell a végtelen ciklus elkerülésére.
(Olvasgass utána a rekurziónak.)
3/5 2xSü válasza:
Tipikus rekurzió példa:
Faktoriális számítás:
int faktorialis(int n)
{
if(n <= 1) return 1;
return n * faktorialis(n-1);
}
4/5 iostream válasza:
A C elég közel áll a gép nyelvéhez. A függvényhívás miből is áll? Lerakja a megfelelő értékeket a veremre (paraméterek, visszatérési cím, visszatérési értéknek hely), majd feltétel nélkül elugrik a függvény kódjának az elejére. Semmi sincs ebben, ami megakadályozná, hogy egy függvény saját magát hívja. Logikusan, meg sem lehetne akadályozni az indirekt rekurziót (merthogy ezt rekurziónak hívják), ugyanis a C fordítási modellben nem kell ismerni egy függvény kódját, hogy meghívjuk azt, és ha két függvény egymást hívja akkor abból könnyen lesz rekurzió.
5/5 A kérdező kommentje:
Köszi mindenkinek! Már bele is bírtam rakni a programba! :D
2012. márc. 10. 19:40
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!