Լարի երկարության համեմատումը սովորական ծրագրավորում է C ծրագրավորման մեջ, քանի որ այն թույլ է տալիս տեսնել, թե որ տողն է պարունակում ավելի շատ նիշ: Սա շատ օգտակար է տվյալների տեսակավորման համար: Լարերի համեմատումը պահանջում է հատուկ գործառույթ. մի օգտագործեք! = կամ ==:
Քայլեր
Քայլ 1. Կան երկու գործառույթներ, որոնք թույլ են տալիս համեմատել տողերը C- ում:
Այս երկու գործառույթներն էլ ներառված են գրադարանում:
- strcmp () - Այս գործառույթը համեմատում է երկու տող և վերադարձնում նիշերի թվի համեմատական տարբերությունը:
- strncmp () - Սա նույնն է, ինչ strcmp () - ը, միայն թե համեմատում է առաջին n նիշերը: Այն համարվում է ավելի անվտանգ, քանի որ այն օգնում է կանխել վթարների արտահոսքը:
Քայլ 2. Սկսեք ծրագիրը ձեր անհրաժեշտ գրադարաններով:
Դուք կցանկանաք և՛ գրադարանները, և՛ մյուս գրքերը, որոնք կարող են անհրաժեշտ լինել ձեր հատուկ ծրագրի համար:
#ներառել #ներառել
Քայլ 3. Սկսեք
ներ գործառույթը:
Սա այս գործառույթը սովորելու ամենահեշտ ձևն է, քանի որ այն վերադարձնելու է մի ամբողջ թիվ, որը համեմատում է երկու տողի երկարությունը:
#ներառել #ներառել int main () {}
Քայլ 4. Սահմանեք երկու տող, որոնք ցանկանում եք համեմատել:
Այս օրինակի համար մենք կհամեմատենք երկու նախապես որոշված լարային տող: Դուք նաև կցանկանաք սահմանել վերադարձի արժեքը որպես ամբողջ թիվ:
#ներառել #ներառել int main () {char *str1 = "խնձոր"; char *str2 = "նարնջագույն"; int ret; }
Քայլ 5. Ավելացրեք համեմատության գործառույթը:
Այժմ, երբ դուք սահմանել եք ձեր երկու տողը, կարող եք ավելացնել համեմատության գործառույթը: Մենք պատրաստվում ենք օգտագործել strncmp (), այնպես որ մենք պետք է ապահովենք, որ չափման ենթակա նիշերի թիվը սահմանված լինի գործառույթում:
#ներառել #ներառել int main () {char *str1 = "խնձոր"; char *str2 = "նարնջագույն"; int ret; ret = strncmp (str1, str2, 6); / *Սա կհամեմատի երկու տողերը մինչև 6 նիշ */}
Քայլ 6. Օգտագործեք an
Եթե… Այլապես հայտարարություն ՝ համեմատությունը կատարելու համար:
Այժմ, երբ դուք ունեք գործառույթը տեղում, կարող եք օգտագործել If… Else հայտարարությունը `ցուցադրելու համար, թե որ տողն է ավելի երկար: strncmp () կվերադառնա 0, եթե տողերը նույն երկարությունն են, դրական թիվը, եթե str1- ն ավելի մեծ է, և բացասական թիվը, եթե str2- ն ավելի մեծ է:
#ներառել #ներառել int main () {char *str1 = "խնձոր"; char *str2 = "նարնջագույն"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1- ն ավելի երկար է"); } else if (ret <0) {printf ("str2- ն ավելի երկար է"); } else {printf («Երկու տողերը հավասար են»); } վերադարձ (0); }