Kulinganisha urefu wa kamba ni kazi ya kawaida katika programu ya C, kwani hukuruhusu kuona ni kamba ipi inayo herufi zaidi. Hii ni muhimu sana kwa kupanga data. Kulinganisha masharti kunahitaji kazi maalum; usitumie! = au ==.
Hatua
Hatua ya 1. Kuna kazi mbili ambazo hukuruhusu kulinganisha masharti katika C
Kazi hizi mbili zimejumuishwa kwenye maktaba.
- strcmp () - Kazi hii inalinganisha kamba mbili na inarudi tofauti ya kulinganisha katika idadi ya wahusika.
- strncmp () - Hii ni sawa na strcmp (), isipokuwa kwamba inalinganisha wahusika wa kwanza n. Inachukuliwa kuwa salama zaidi kwani inasaidia kuzuia shambulio kufurika.
Hatua ya 2. Anza programu na maktaba yako muhimu
Utahitaji maktaba zote mbili, pamoja na zingine zozote ambazo unaweza kuhitaji kwa programu yako maalum.
#jumuisha #jumuisha
Hatua ya 3. Anza
int kazi.
Hii ndiyo njia rahisi ya kujifunza kazi hii, kwani itarudisha nambari ambayo inalinganisha urefu wa kamba mbili.
# pamoja na # pamoja na int kuu () {}
Hatua ya 4. Fafanua masharti mawili unayotaka kulinganisha
Kwa mfano huu, tutakuwa tukilinganisha kamba mbili zilizofafanuliwa. Utahitaji pia kufafanua thamani ya kurudi kama nambari.
# pamoja na # pamoja na int main () {char * str1 = "apple"; char * str2 = "machungwa"; int ret; }
Hatua ya 5. Ongeza kazi ya kulinganisha
Sasa kwa kuwa una kamba zako mbili zimefafanuliwa, unaweza kuongeza kazi ya kulinganisha. Tutatumia strncmp (), kwa hivyo tunahitaji kuhakikisha kuwa idadi ya herufi zinazopimwa imewekwa katika kazi.
# pamoja na # pamoja na int main () {char * str1 = "apple"; char * str2 = "machungwa"; int ret; ret = strncmp (str1, str2, 6); / * Hii italinganisha masharti mawili hadi herufi 6 kwa urefu * /}
Hatua ya 6. Tumia
Ikiwa… Kingine taarifa ya kufanya kulinganisha.
Sasa kwa kuwa una kazi mahali, unaweza kutumia Ikiwa … Taarifa nyingine kuonyesha safu gani ndefu. strncmp () itarudi 0 ikiwa masharti yana urefu sawa, nambari nzuri ikiwa str1 ni kubwa, na nambari hasi ikiwa str2 ni kubwa.
# pamoja na # pamoja na int main () {char * str1 = "apple"; char * str2 = "machungwa"; int ret; ret = strncmp (str1, str2, 6); ikiwa (ret> 0) {printf ("str1 is longer"); } mwingine ikiwa (ret <0) {printf ("str2 is longer"); } mwingine {printf ("Kamba mbili ni sawa"); } kurudi (0); }