strcmp(), strncmp()

Kategori: C , 30 Haziran 2019 , JanFranco


İki string değeri birbiriyle karşılaştırmak için strcmp, strncmp fonksiyonlarını kullanabiliriz. strcamp fonksiyonu baştan sonra tüm stringi karşılaştırırken, strncmp girilen parametre kadar karakteri karşılaştırır. Fonksiyon prototipleri şu şekildedir:


#include<string.h>

int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
Fonksiyonu kullanabilmek için "string.h" kütüphanesini import etmemiz gerekir. Burada kafa karıştırıcı kısım return değerleridir. Eğer karşılaştırılan iki string birbiri ile aynı ise return değeri olarak 0 verir. Bu iki string arasında bir fark yok manasına gelir. Eğer farklı ise, aşağıdaki durumlar uygulanır:

İlk parametre alfabetik olarak diğerinden daha büyük	->	Return pozitive
İlk parametre alfabetik olarak diğerinden daha küçük	->	Return negative
Bununla ilgili örnek yapalım:

strcmp("Jan", "Franco");
strcmp("Franco", "Jan");
İlk satırda J harfi F harfinden büyüktür. Bu neden pozitif bir sayı return edilir. İkinci satırda F harfi J harfinden küçüktür. Bu nedenle negatif bir sayı return edilir.

if(strcmp("Jan", "Jan") == 0)
    printf("Same string!");

if (!strcmp("Jan", "Jan"))
    printf("Same string!")

if (!strncmp("Jan", "Jan Franco", 3))
    printf("First three characters are the same!");


Sonraki Yazı: strcat(), strncat()
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın