String uzunligini solishtirish C dasturlashda keng tarqalgan vazifadir, chunki qaysi satr ko'proq belgidan iborat ekanligini ko'rish imkonini beradi. Bu ma'lumotlarni saralash uchun juda foydali. Satrlarni solishtirish maxsus funktsiyani talab qiladi; ishlatmang! = yoki ==.
Qadamlar
Qadam 1. C dagi satrlarni solishtirishga imkon beradigan ikkita funktsiya mavjud
Bu ikkala funktsiya ham kutubxonaga kiritilgan.
- strcmp () - Bu funksiya ikkita qatorni taqqoslaydi va belgilar sonining qiyosiy farqini qaytaradi.
- strncmp () - bu strcmp () bilan bir xil, faqat birinchi n belgini solishtiradi. Bu xavfsizroq deb hisoblanadi, chunki u qulab tushishining oldini oladi.
Qadam 2. Dasturni kerakli kutubxonalar bilan boshlang
Sizga kutubxonalar ham, kutubxonalar ham kerak bo'ladi.
#qo'shing #qo'shing
3 -qadam
int funktsiya.
Bu funktsiyani o'rganishning eng oson yo'li, chunki u ikkita satr uzunligini taqqoslaydigan tamsayı qaytaradi.
#include #include int main () {}
Qadam 4. Taqqoslamoqchi bo'lgan ikkita qatorni aniqlang
Bu misol uchun biz ikkita oldindan belgilangan char satrlarini solishtiramiz. Qaytish qiymatini butun son sifatida belgilashingiz kerak bo'ladi.
#include #include int main () {char *str1 = "olma"; char *str2 = "to'q sariq"; int ret; }
Qadam 5. Taqqoslash funktsiyasini qo'shing
Endi siz ikkita satrni aniqladingiz, taqqoslash funktsiyasini qo'shishingiz mumkin. Biz strncmp () dan foydalanmoqchimiz, shuning uchun funktsiyada o'lchanadigan belgilar soni o'rnatilganligiga ishonch hosil qilishimiz kerak.
#include #include int main () {char *str1 = "olma"; char *str2 = "to'q sariq"; int ret; ret = strncmp (str1, str2, 6); / *Bu 6 satrgacha bo'lgan ikkita satrni solishtiradi */}
6 -qadam
Agar… Boshqa taqqoslashni amalga oshirish uchun bayonot.
Endi sizda funksiya mavjud bo'lib, qaysi satr uzunroq ekanligini ko'rsatish uchun If… Else iborasidan foydalanishingiz mumkin. strncmp () satrlar bir xil uzunlikda bo'lsa, 0 qaytaradi, str1 kattaroq bo'lsa musbat son, str2 katta bo'lsa manfiy son.
#include #include int main () {char *str1 = "olma"; char *str2 = "to'q sariq"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 uzunroq"); } if if (ret <0) {printf ("str2 uzunroq"); } else {printf ("Ikki qator teng"); } qaytish (0); }