Kezdőoldal » Számítástechnika » Programozás » Egy függvény meghívhatja...

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:
0%

puszta logika alapján: NEM

mert ha igen, egy végtelen ciklusba keveredne

2012. márc. 6. 18:33
Hasznos számodra ez a válasz?
 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.)

2012. márc. 6. 18:43
Hasznos számodra ez a válasz?
 3/5 2xSü ***** válasza:
100%

Tipikus rekurzió példa:

Faktoriális számítás:


int faktorialis(int n)

{

if(n <= 1) return 1;

  return n * faktorialis(n-1);

}

2012. márc. 6. 18:50
Hasznos számodra ez a válasz?
 4/5 iostream ***** válasza:
89%
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ó.
2012. márc. 6. 21:10
Hasznos számodra ez a válasz?
 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!