3 Şubat 2016 Çarşamba

strrchr Fonksiyonu

C strrchr Fonksiyonu

strrchar fonksiyonu standart bir fonksiyondur.
Bir yazı içinde karakter arar. Ancak sondan aramaya
başlar. Bulduğunda karakterin adresi ile geri döner.
Bulamazsa NULL adresini döner.
main içinde ilk süslü parantezler içinde
strrchr fonksiyonu kullanılmıştır.
ikinci süslü parantez içinde kendi myStrrchr
fonksiyonu çağrılıyor.
myStrrchr fonksiyonu ile strrchr fonksiyonu kodlandı.


/*strrchar fonksiyonu standart bir fonksiyondur.
Bir yazı içinde karakter arar. Ancak sondan aramaya
başlar. Bulduğunda karakterin adresi ile geri döner.
Bulamazsa NULL adresini döner.
main içinde ilk süslü parantezler içinde
strrchr fonksiyonu kullanılmıştır.
ikinci süslü parantez içinde kendi myStrrchr
fonksiyonu çağrılıyor.
myStrrchr fonksiyonu ile strrchr fonksiyonu kodlandı.
*/

#include <stdio.h>
#include <stdlib.h>

char *myStrrchr(const char *str, int ch)
{
            //Herzaman ilk değer vermeyi yapmalıyız.
            char *retValue = NULL;

            // str adresi içideki karakterlere tek tek ulaşılıyor.
            // str++ ile adres döngünün her adımında bir artılıyor.
            while( *str++ != '\0')
            {
                        /* *str ile str adresindeki karakterin
                         * ch değişkenindeki karaktere eşit mi
                         * diye kontrol ediliyor.
                         */
                        if(*str == ch )
                        {
                                    retValue = str;
                        }
            }
            /* while dönüsü \0 karakteri görünce döngüye
             * girmediği için. Burada aranan karakterin
             * \0 olması kontrolu ediliyor.
             */
            if( ch == '\0')
            {
                        retValue = str;
            }

            return retValue;
}

int main(void) {
            //strrchr fonsiyonun prototipi
            // char *strrchr(const char *str, int ch);
            {
                        char city[] = "ankara kara";
                        char ch = 'k';
                        char *ptr = NULL;

                        ptr = strrchr(city, ch);

                        printf("%s\n", ptr);

            }
            //Kendi fonksiyonumuzu kullanalım
            {
                        char city[] = "ankara kara";
                        char ch = 'k';
                        char *ptr = NULL;

                        ptr = myStrrchr(city, ch);

                        printf("%s\n", ptr);

            }
            return EXIT_SUCCESS;
}

Hiç yorum yok:

Yorum Gönder