String uzunluğunu müqayisə etmək, C proqramlaşdırmasında ümumi bir funksiyadır, çünki hansı simli daha çox simvol ehtiva etdiyini görməyə imkan verir. Bu, məlumatların çeşidlənməsi üçün çox faydalıdır. Stringləri müqayisə etmək xüsusi bir funksiya tələb edir; istifadə etməyin! = və ya ==.
Addımlar
Addım 1. C -də sətirləri müqayisə etməyə imkan verən iki funksiya var
Bu funksiyaların hər ikisi kitabxanaya daxil edilmişdir.
- strcmp () - Bu funksiya iki sətri müqayisə edir və simvol sayındakı müqayisəli fərqi qaytarır.
- strncmp () - Bu, ilk n simvolu müqayisə etməsi istisna olmaqla, strcmp () ilə eynidir. Qəzaların daşmasının qarşısını almağa kömək etdiyi üçün daha etibarlı hesab olunur.
Addım 2. Proqramı lazımi kitabxanalarınızla başladın
Xüsusi proqramınız üçün ehtiyacınız ola biləcək digər kitablarla birlikdə həm kitabxanalar, həm də istəyərsiniz.
#daxil edin #daxil edin
Addım 3. Başlayın
int funksiyası.
Bu funksiyanı öyrənməyin ən asan yoludur, çünki iki sətrin uzunluğunu müqayisə edən bir tam ədəd qaytaracaqdır.
#include #include int main () {}
Addım 4. Müqayisə etmək istədiyiniz iki sətri müəyyənləşdirin
Bu nümunə üçün əvvəlcədən təyin edilmiş iki simli simli müqayisə edəcəyik. Qayıdış dəyərini tam ədəd olaraq təyin etmək də lazımdır.
#include #include int main () {char *str1 = "alma"; char *str2 = "narıncı"; int ret; }
Addım 5. Müqayisə funksiyasını əlavə edin
Artıq iki sətrinizi təyin etdiyiniz üçün müqayisə funksiyasını əlavə edə bilərsiniz. Strncmp () istifadə edəcəyik, buna görə də ölçülən simvolların sayında funksiyada təyin olunmasını təmin etməliyik.
#include #include int main () {char *str1 = "alma"; char *str2 = "narıncı"; int ret; ret = strncmp (str1, str2, 6); / *Bu iki simli 6 simvola qədər müqayisə edəcək */}
Addım 6. Bir istifadə edin
Əgər müqayisə aparmaq üçün bir ifadə.
İndi funksiyanı yerinə yetirdiyiniz halda, hansı sətrin daha uzun olduğunu göstərmək üçün If… Else ifadəsindən istifadə edə bilərsiniz. strncmp (), sətirlər eyni uzunluqda olarsa 0, str1 daha böyük olarsa müsbət, str2 daha böyük olarsa mənfi ədəd qaytarar.
#include #include int main () {char *str1 = "alma"; char *str2 = "narıncı"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 daha uzundur"); } else if (ret <0) {printf ("str2 daha uzundur"); } else {printf ("İki sətir bərabərdir"); } qayıt (0); }