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

unsigned int mystrlen3(const char *str)<br />

{<br />

const char *ptr = str;<br />

}<br />

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

str++;<br />

return str - ptr;<br />

strchr İşlevi<br />

İşlevin ismi olan strchr ,"string character" sözcüklerinden gelir. strchr işlevi bir karakter<br />

dizisi içinde belirli bir karakteri aramak için kullanılan standart bir C işlevidir.<br />

İşlevin string.h dosyası içindeki bildirimi aşağıdaki gibidir:<br />

char *strchr(const char *str, int ch);<br />

Bu işlev ikinci parametresi olan ch karakterini, birinci parametresi olan str adresinden<br />

başlayarak sonlandırıcı karakter görene kadar arar. Aranan karakter sonlandırıcı<br />

karakterin kendisi de olabilir. İşlevin geri dönüş değeri, ch karakterinin yazı içinde<br />

bulunabilmesi durumunda bulunduğu yerin adresidir. Eğer ch karakteri yazı içinde<br />

bulunamazsa, işlev NULL adresine geri döner.<br />

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

#include <br />

#include <br />

int main()<br />

{<br />

char s[100];<br />

char *p, ch;<br />

printf("bir yazı girin : ");<br />

gets(s);<br />

printf("yazı içinde arayacağınız karakteri girin : ");<br />

scanf("%c", &ch);<br />

p = strchr(s, ch);<br />

if (p == NULL)<br />

printf("aranan karakter bulunamadı\n");<br />

else<br />

printf("bulundu: (%s)\n", p);<br />

}<br />

return 0;<br />

char *strchr(const char *str, int ch)<br />

{<br />

char c = ch;<br />

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

if (*str == c)<br />

return (char *)str;<br />

++str;<br />

}<br />

if (ch == '\0')<br />

return (char *)str;<br />

}<br />

return NULL;<br />

266

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

Saved successfully!

Ooh no, something went wrong!