08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

}<br />

if ((ch = getchar())!='\n')<br />

ters_yaz();<br />

putchar(ch);<br />

Aşağıda bir tamsayıyı yalnızca puthar işlevini kullanarak yazdıran döngüsel yapılı bir işlev<br />

tanımlanıyor:<br />

#include <br />

#define SIZE 100<br />

void printd(int i)<br />

{<br />

char s[SIZE];<br />

int k = 0;<br />

int fnegative = 0;<br />

if (i < 0) {<br />

fnegative = 1;<br />

i = -i;<br />

}<br />

do {<br />

s[k++] = i % 10 + '0';<br />

i /= 10;<br />

} while(i);<br />

if(fnegative)<br />

s[k++] = '-';<br />

}<br />

for (k--; k >= 0; --k)<br />

putchar(s[k]);<br />

İşlev özyinelemeli olarak aşağıdaki biçimde tanımlanabilir:<br />

#include <br />

void print(int n)<br />

{<br />

if (n < 0) {<br />

putchar('-');<br />

n = -n;<br />

}<br />

if (n / 10)<br />

print(n / 10);<br />

putchar(n % 10 + '0');<br />

}<br />

Aşağıda bir tamsayının belirli bir tamsayı üssüne geri donen power isimli işlev<br />

özyinelemeli olarak yazılıyor:<br />

int power(int base, int exp)<br />

{<br />

if (exp == 0 )<br />

return 1;<br />

}<br />

return base * power(base, exp - 1);<br />

521

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

Saved successfully!

Ooh no, something went wrong!