Բովանդակություն
Լարի երկարության համեմատությունը C ծրագրավորման լեզվում սովորաբար օգտագործվող ֆունկցիա է, քանի որ այն թույլ է տալիս պարզել, թե որ տողն է ավելի շատ նիշ պարունակում: Սա շատ օգտակար է տվյալների տեսակավորման համար: Լարերի համեմատությունը պահանջում է հատուկ գործառույթ; այնպես որ մի օգտագործեք. != կամ ==.
Քայլել
- Գոյություն ունեն երկու գործառույթ, որոնք թույլ են տալիս համեմատել տողերը C- ում: Երկուսն էլ ներառված են լարային. h>ծածկագրադարան:
- strcmp () - Այս ֆունկցիան համեմատում է երկու տող և վերադարձնում նիշերի քանակի տարբերությունը:
- strncmp () - Սա վերաբերում է նաև դրան strcmp (), բացառությամբ, որ այս մեկն առաջինն է ն համեմատում է նիշերը: Այն համարվում է ավելի անվտանգ, քանի որ այն օգնում է կանխել հորդառատ վթարները:
- Գործարկել ծրագիրը անհրաժեշտ գրադարաններով: Երկու գրադարան էլ ունեք stdio.h> և լարային. h> անհրաժեշտ է, ինչպես նաև այլ գրադարաններ, որոնք կարող են անհրաժեշտ լինել ձեր ծրագրի համար:
#include stdio.h> [[Image: Համեմատիր երկու լարերը C ծրագրավորման մեջ Քայլ 1 տարբերակ 4.webp | կենտրոն]] #include string.h>
- Սկսեք մեկը:ինտգործառույթ Սա այս գործառույթը սովորելու ամենադյուրին ճանապարհն է, քանի որ այն վերադարձնում է մի ամբողջ թիվ ՝ համեմատելով երկու տողերի երկարությունը:
[[Պատկեր ՝ Համեմատիր երկու լարերը C ծրագրավորման մեջ Քայլ 2-րդ տարբերակ 4.webp | կենտրոն]] #include stdio.h> [[Image: Համեմատիր երկու լարերը C ծրագրավորման մեջ Քայլ 3 տարբերակ 3.webp | կենտրոն]] # ներառել տողը: h> int main () {}
- Որոշեք, թե որ երկու տողերն եք ցանկանում համեմատել: Այս օրինակում մենք համեմատում ենք երկու տվյալներ քար լարեր Դուք նույնպես պետք է որոշեք վերադարձման արժեքը որպես ամբողջ թիվ:
[[Պատկեր. Համեմատիր երկու լարերը C ծրագրավորման փուլում 4-րդ տարբերակ 4.webp | կենտրոն]] #include stdio.h> [[Image: Համեմատիր երկու լարերը C ծրագրավորման մեջ Քայլ 5 տարբերակ 4.webp | կենտրոն]] # ներառել տողը: h> int main () {char * str1 = "խնձոր"; char * str2 = "նարնջագույն"; int ret;}
- Ավելացնել համեմատության գործառույթը: Այժմ, երբ դուք սահմանել եք երկու տող, կարող եք ավելացնել համեմատության գործառույթը: Մենք գնում ենք strncmp () այնպես որ մենք պետք է համոզվենք, որ չափման նիշերի քանակը դրված է գործառույթի շրջանակներում:
[[Պատկեր. Համեմատիր երկու լարերը C ծրագրավորման փուլ 6-րդ տարբերակում. 4.webp | կենտրոն]] #include stdio.h> #include string.h> int main () {char * str1 = "խնձոր"; char * str2 = "նարնջագույն"; int ret; ret = strncmp (str1, str2, 11); / * Համեմատում է երկու տողերը մինչև 11 նիշ երկարությամբ * /}
- ՕգտագործելԵթե ... Ուրիշկատարել համեմատությունը: Այժմ, երբ մենք ստեղծեցինք գործառույթը, օգտագործեք Եթե ... Ուրիշ որոշելու, թե որ լարն է ավելի երկար: strncmp () տալիս է 0 որպես արդյունք, եթե տողերը նույն երկարությունն են, դրական թիվ է, եթե str1- ն ավելի երկար է և բացասական, եթե str2- ն ավելի երկար է:
#include stdio.h> #include string.h> int main () {char * str1 = "խնձոր"; char * str2 = "նարնջագույն"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1- ն ավելի երկար է"); } other if (ret 0) {printf ("str2- ն ավելի երկար է"); } else {printf («Երկու տողերը նույնն են»); } վերադարձ (0); }
Arnգուշացումներ
- Հիշեք, որ վերադարձի արժեքը 0 է, եթե տողերը հավասար են: Սա կարող է շփոթեցնող լինել, քանի որ 0-ը նաև ՍՈՒՏ-ի արժեքն է: