Yazılarla ilgili standart işlem yapan c işleverinden biriymiş, strcmp işlevi.
strcmp bildirimi string.h dosyası içinde bulunuyor.
Yaptığı iş s1 ve s2 adresindeki yazıları karşılaştırıyor.
Eğer, s1 adresindeki yazı s2 adresindeki yazıdan daha büyükse işlev 0’dan büyük bir değere, s1 adresindeki yazı s2 adresindeki yazıdan daha küçükse 0’dan küçük bir değere, yazılar eşit ise işlev 0 değerine geri dönüyor.
Bu işlev sayesinde Örnek olarak verilen
cem'in alican'dan büyük olduğunu öğrendik.
Şöyle;
işlev baştan başlayarak karşılaştırıyor.
örnek olarak ascii karakter numarasına göre yapılan bu işlemde;
a - l - i - c - a - n
97 - 108 - 105 - 99- v.s..
c - e - m
99 - 101- 109
Demekki cem alicandan daha büyük. Hadi bunu kodu derleyerekte görelim;
Kodlar;
#include <stdio.h>
#define SIZE 200
char *mystrcmp(const char *, const char*);
int main()
{
char name1[SIZE];
char name2[SIZE];
int comp_result;printf("birinci ismi giriniz : ");
gets(name1);
printf("ikinci ismi giriniz : ");
gets(name2);
comp_result = strcmp(name1, name2);
if (comp_result > 0)
printf("(%s) > (%s)n", name1, name2);
else if (comp_result < 0)
printf("(%s) < (%s)n", name1, name2);
else
printf("(%s) == (%s)n", name1, name2);
return 0;
}