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 />

char *strrev(char *str);<br />

İşlev parametre değişkeninde başlangıç adresi tutulan yazıyı ters çevirir. İşlevin geri<br />

dönüş değeri ters çevrilen yazının başlangıç adresidir.<br />

strrev işlevi aşağıdaki gibi tanımlanabilir:<br />

char *mystrrev(char *str)<br />

{<br />

int i, temp;<br />

int length = strlen(str);<br />

}<br />

for (i = 0; i < length / 2, ++i) {<br />

temp = str[i];<br />

str[i] = str[length - i - 1];<br />

str[length - i - 1] = temp;<br />

}<br />

return str;<br />

strupr ve strlwr İşlevleri<br />

Bu işlev standart olmamalarına karşın hemen hemen her derleyicide bulunur.<br />

İsimleri string upper ve string lower sözcüklerinden gelir. Bu işlevler bir yazının tüm<br />

karakterleri için büyük harf küçük harf dönüştürmesi yapar. İşlevlerin geri dönüş<br />

değerleri parametresine aktarılan adrestir. Geri dönüş değerlerine genellikle gereksinim<br />

duyulmaz. Her iki işlev de temel Latin alfabesinde olan harfler için dönüşüm yapar.<br />

Türkçe karakterler için de dönüşüm gerekiyorsa bunun için bir işlev tanımlanmalıdır.<br />

#include <br />

#include <br />

int main()<br />

{<br />

char s[] = "C programcısı olmak için çok çalışmak gerekir!";<br />

}<br />

strupr(s);<br />

puts(s);<br />

strlwr(s);<br />

puts(s);<br />

return 0;<br />

strupr işlevi aşağıdaki gibi tanımlanabilir:<br />

#include <br />

#include <br />

char *mystrupr(char *str)<br />

{<br />

char *temp = str;<br />

}<br />

while (*str != '\0') {<br />

if (islower(*str))<br />

*str = toupper(*str);<br />

++str;<br />

}<br />

return temp;<br />

277

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

Saved successfully!

Ooh no, something went wrong!