String uzunligini taqqoslash C dasturlashda tez -tez ishlatib turiladi, chunki u sizga qaysi sim ko'proq belgidan iboratligini aytib berishi mumkin. Bu funksiya ma'lumotlarni saralashda juda foydali. Satrlarni solishtirish maxsus funktsiyani talab qiladi; ishlatmang! = yoki ==.
Qadam
Qadam 1. C tilidagi satrlarni solishtirish uchun 2 turdagi funktsiyalar mavjud
Bu ikkala funktsiya ham kutubxonaga kiritilgan.
- strcmp (): Bu funksiya ikkita qatorni taqqoslaydi va ular orasidagi belgilar sonini solishtirish natijasini qaytaradi.
- strncmp (): Bu funksiya strcmp () bilan bir xil, faqat mag'lubiyatdagi birinchi n} belgini solishtirmasa. Bu funktsiya xavfsizroq deb hisoblanadi, chunki u dasturni ortiqcha yuklanish tufayli to'xtab qolishiga yo'l qo'ymaydi.
Qadam 2. Dasturni kerakli kutubxonalar bilan ishga tushiring
Sizga ma'lum bir dastur uchun kerak bo'lgan boshqa kutubxonalar bilan bir qatorda ishlashni tavsiya qilamiz.
#qo'shing #qo'shing
Qadam 3. Funktsiyani ishga tushiring
int. Bu funktsiyani o'rganishning eng oson yo'li, chunki u ikkita satrdagi belgilar sonini solishtirishning butun sonini qaytaradi.
#include #include int main () {}
Qadam 4. Taqqoslamoqchi bo'lgan ikkita qatorni aniqlang
Masalan, biz ilgari aniqlangan char ma'lumotlarining 2 qatorini solishtiramiz. Ma'lumot turi tamsayı bo'lishi uchun siz ushbu funktsiya tomonidan qaytarilgan qiymatni ham belgilashingiz mumkin.
#include #include int main () {char *str1 = "olma"; char *str2 = "to'q sariq"; int ret; }
Qadam 5. Taqqoslash funktsiyasini qo'shing
Ushbu ikkita qatorni aniqlagandan so'ng, siz solishtirish funktsiyasini qo'shishingiz mumkin. Biz strncmp () dan foydalanamiz, shuning uchun funktsiyada o'lchash uchun zarur bo'lgan 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 funksiya "belgi" ni 6 ta belgidan solishtiradi */}
6 -qadam. Bayonotlardan foydalaning
Agar … Boshqa taqqoslash uchun. Dasturingizga funktsiyani qo'shgandan so'ng, qaysi satr ko'proq belgidan iboratligini ko'rsatish uchun bayonotdan foydalanishingiz mumkin. strncmp () satrlar bir xil sonli bo'lsa, 0 qaytaradi, str1 uzunroq bo'lsa musbat son, str2 uzun 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"); } else if (ret <0) {printf ("str2 uzunroq"); } else {printf ("Ikkala satr uzunligi bir xil"); } qaytish (0); }