Karsilastirma String Fonksiyonlari
Bu bolum string carsilastirma fonksiyonlari olan strcmp ve strncmpykullanimini gostermektedir.Assagida yer alan program strcmp ve strncmp kullanarak uc ayri stringlerin karsilastirilmasini gosteriyor.Fonksiyon strcmp kendisinin birinci tartismasini ikincisi ile karakterden karaktere karsilastiriyor.Fonksiyon eger girilen stringler esit ise 0 degere geri doner.Eger birinci string ikinci stringden kucuk ise geri donulen deger -1 olur, birinci deger ikincisinden buyuk olur ise 1 degerine geri doner.strncmp ve strcmp birbirine esit ozellikleri vardir ama strncmp belirtilmis karakter sayisini kadar karsilastirma yapar.Ve strncmp fonksiyonu NULL karakterini takip eden karakterleri karsilastirmaz.
/*strcmp ve strncmp kullanimi*/
#include <stdio.h>
#include <string.h>
main()
{
char *s1 = "Yeni Yilinizi Kutlariz";
char *s2 = "Yeni Yilinizi Kutlariz";
char *s3 = "Yeni Yillara";
printf("%s%s\n%s%s\n%s%s\n\n%s%2d\n%s%2d\n%s%2d\n\n",
"s1
= ", s1, "s2 = ", s2, "s3 = ", s3,
"strcmp(s1,
s2) = ", strcmp(s1, s2),
"strcmp(s1,
s3) = ", strcmp(s1, s3),
"strcmp(s3,
s1) = ", strcmp(s3, s1));
printf("%s%2d\n%s%2d\n%s%2d\n",
"strncmp(s1, s3, 5) = ", strncmp(s1, s3, 5),
"strncmp(s1, s3, 6) = ", strncmp(s1, s3, 6),
"strncmpy(s3, s1, 6) = ", strncmp(s3, s1, 6));
return 0;
}
Promgramin Ciktisi:
s1 = Yeni Yilinizi Kutlariz
s2 = Yeni Yilinizi Kutlariz
s3 = Yeni Yillara
strcmp(s1, s2) = 0
strcmp(s1, s3) = 1
strcmp(s3, s1) = -1
strncmp(s1, s3, 5) = 0
strncmp(s1, s3, 6) = 1
strncmp(s3, s1, 6) = -1
Bir stringin diger bir stringden kucuk veya buyuk oldugunu anlamak icin alfabetiksel soyisim serisini dusunun. Supesiz ki okuyucu "Ali" yi "Nazlican" dan once yerlestirir cunku Ali'nin ilk harfi Nazlican'in ilk harfinden once gelir.Ama alfabe 26(ingiliz alfabesi) harfli bir listeden cokdur.Her bir harf ozel bir posizyonun icinde yer almaktadir.Z alfabenin cok nadir kullanilan harfidir. Z ozellikle alfabenin 26 inci harfidir.
Iyi guzel de bilgisayar nasil bir harfin digerinden once mi yoksa sonra mi geldigini biliyor? Her bir karakter bilgisayarin icinde sayisal bir kod ile gosterilmektedir.Bilgisayar iki harfi karsilastirdiginda , harf yerine bu harflerini sayisal kodlarini karsilastirir.
|