C proqramlaşdırma dilində iki sətri necə müqayisə etmək olar

Müəllif: William Ramirez
Yaradılış Tarixi: 18 Sentyabr 2021
YeniləMə Tarixi: 1 İyul 2024
Anonim
C proqramlaşdırma dilində iki sətri necə müqayisə etmək olar - CəMiyyəT
C proqramlaşdırma dilində iki sətri necə müqayisə etmək olar - CəMiyyəT

MəZmun

Hansı simli daha çox simvol ehtiva etdiyini öyrənmək üçün C uzunluğunu müqayisə etmək C kodunda olduqca yaygındır. Bu məlumatları sıralamaq üçün faydalıdır. Stringləri müqayisə etmək üçün xüsusi bir funksiyaya ehtiyac var - istifadə etməyin != və ya ==.

Addımlar

  1. 1 C proqramlaşdırma dilinə sim uzunluqlarını müqayisə etmək üçün istifadə edə biləcəyiniz iki funksiya daxildir. Bu funksiyaların hər ikisi kitabxanaya daxil edilmişdir string.h>.
    • strcmp () - bu funksiya iki sətri müqayisə edir və simvol sayındakı fərqi qaytarır.
    • strncmp () - bu funksiya ilə eynidir strcmp () birincisi istisna olmaqla n personajlar. Daşma uğursuzluqlarının qarşısını aldığı üçün daha etibarlı sayılır.
  2. 2 Proqramı tələb olunan kitabxanalardan başladın. Kitabxanalara ehtiyacınız olacaq stdio.h>string.h>xüsusi proqramınız üçün lazım olan digər kitabxanalar.

    #daxil et stdio.h> #simli daxil et.h>

  3. 3 Funksiyanı daxil edin int. İki sətrin uzunluğunu müqayisə etmək nəticəsində tam ədəd qaytarır.

    #include stdio.h> #include string.h> int main () {}

  4. 4 Müqayisə etmək istədiyiniz iki xətti müəyyənləşdirin. Nümunəmizdə iki növ simli müqayisə edək char... Həm də qaytarma dəyərini tam ədəd olaraq təyin edin.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "narıncı"; int ret; }

  5. 5 Müqayisə funksiyasını daxil edin. Nümunəmizdə funksiyadan istifadə edəcəyik strncmp ()... Burada ölçülmüş simvolların sayını təyin etməlisiniz.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "narıncı"; int ret; ret = strncmp (str1, str2, 8); / * 8 simvola qədər iki sətri müqayisə edir * /}

  6. 6 Şərti bəyanat daxil edin Əgər... Başqa. Hansı xəttin daha uzun olduğunu göstərmək lazımdır. Funksiya strncmp () nömrəni qaytaracaq 0strings uzunluqları eynidirsə, str1 daha uzun olarsa müsbət ədəd, str2 daha uzun olarsa mənfi ədəd.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "narıncı"; int ret; ret = strncmp (str1, str2, 8); if (ret> 0) {printf ("str1 daha uzundur"); } else if (ret 0) {printf ("str2 daha uzundur"); } başqa {printf ("Satır uzunluqları bərabərdir"); } qayıt (0); }

Xəbərdarlıqlar

  • Yadda saxlayın ki, simlərin uzunluqları bərabər olarsa, 0 dəyəri qaytarılacaq. 0 da YANLIŞ olduğu üçün bu qarışıqlıq yarada bilər.