08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

square(add(x, y));<br />

çağrısı ile add işlevinin geri dönüş değeri square işlevine argüman olarak geçiliyor.<br />

4. Bir işlevin ürettiği geri dönüş değeri bir başka işlevin return deyiminde return ifadesi<br />

olarak kullanılabilir. Bir başka deyişle, bir işlev geri dönüş değerini bir başka işlevi<br />

çağırarak oluşturabilir. İki sayının karelerinin toplamına geri dönen sum_square isimli bir<br />

işlev tanımlanmak istensin:<br />

int sum_square(int a, int b)<br />

{<br />

return add(square(a), square(b));<br />

}<br />

Tanımlanan sum_square işlevi daha önce tanımlanmış add işlevine yapılan çağrının<br />

ürettiği geri dönüş değeri ile geri dönüyor. add işlevine gönderilen argümanların da,<br />

square işlevine yapılan çağrılardan elde edildiğini görüyorsunuz.<br />

İşlevlerin Kendi Kendini Çağırması<br />

Bir işlev kendisini de çağırabilir. Kendisini çağıran bir işleve özyinelemeli işlev (recursive<br />

function) denir. Bir işlev kendini neden çağırır? Böyle işlevlerle hedeflenen nedir? Bu konu<br />

ileride ayrı bir başlık altında ele alınacak.<br />

63/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!