Sətir uzunluqlarını müqayisə etmək C proqramlaşdırmasında ən çox istifadə olunan bir funksiyadır, çünki hansı simli daha çox simvoldan ibarət olduğunu söyləyə bilər. Bu funksiya məlumatların sıralanmasında çox faydalıdır. Stringləri müqayisə etmək xüsusi bir funksiya tələb edir; istifadə etməyin! = və ya ==.
Addım
Addım 1. C dilindəki sətirləri müqayisə etmək üçün istifadə edə biləcəyiniz 2 növ funksiya var
Bu funksiyaların hər ikisi kitabxanaya daxil edilmişdir.
- strcmp (): Bu funksiya iki sətri müqayisə edir və aralarındakı simvol sayının müqayisəsinin nəticəsini qaytarır.
- strncmp (): Bu funksiya strcmp () funksiyası ilə eynidir, lakin bu, sətirdəki ilk n} simvolu müqayisə etmir. Bu funksiya daha təhlükəsiz hesab olunur, çünki proqram həddindən artıq yüklənmə səbəbindən dayana bilməz.
Addım 2. Proqramı sizə lazım olan kitabxanalarla birlikdə işlədin
Müəyyən bir proqram üçün ehtiyac duyduğunuz digər kitabxanalarla birlikdə işləməyinizi tövsiyə edirik.
#daxil edin #daxil edin
Addım 3. Bir funksiyanı işə salın
int. Bu funksiyanı öyrənməyin ən asan yolu budur, çünki iki sətirdə simvol sayının müqayisəsinin tam ədədini qaytarır.
#include #include int main () {}
Addım 4. Müqayisə etmək istədiyiniz iki sətri müəyyənləşdirin
Məsələn, əvvəllər müəyyən edilmiş char tipli məlumatların 2 sətrini müqayisə edəcəyik. Məlumat növü tamsayı olmaq üçün bu funksiya ilə qaytarılmış dəyəri də təyin edə bilərsiniz.
#include #include int main () {char *str1 = "alma"; char *str2 = "narıncı"; int ret; }
Addım 5. Müqayisə funksiyasını əlavə edin
Bu iki sətri müəyyən etdikdən sonra müqayisə funksiyası əlavə edə bilərsiniz. Strncmp () istifadə edəcəyik, buna görə ölçmək üçün simvol sayının funksiyada qurulduğundan əmin olmalıyıq.
#include #include int main () {char *str1 = "alma"; char *str2 = "narıncı"; int ret; ret = strncmp (str1, str2, 6); / *Bu funksiya həm 6 simvoldan ibarət olan '' simli '' müqayisə edəcək */}
Addım 6. Şərhlərdən istifadə edin
Əgər… Müqayisə etmək üçün başqa. Proqramınıza bir funksiya əlavə etdikdən sonra hansı simli daha çox simvoldan ibarət olduğunu göstərmək üçün bir ifadə istifadə edə bilərsiniz. Strncmp (), sətirlərin eyni sayda simvolu varsa 0, str1 daha uzun olarsa müsbət, str2 daha uzun 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 ("Hər iki sətir eyni uzunluqdadır"); } qayıt (0); }