Kulinganisha urefu wa kamba ni kazi inayotumiwa sana katika programu ya C, kwa sababu inaweza kukuambia ni kamba gani inayo herufi zaidi. Kazi hii ni muhimu sana katika kupanga data. Kulinganisha masharti kunahitaji kazi maalum; usitumie! = au ==.
Hatua
Hatua ya 1. Kuna aina 2 za kazi ambazo unaweza kutumia kulinganisha masharti katika lugha ya C
Kazi hizi mbili zimejumuishwa kwenye maktaba.
- strcmp (): Kazi hii inalinganisha kamba mbili na inarudisha matokeo ya kulinganisha idadi ya wahusika kati yao.
- strncmp (): Kazi hii ni sawa na strcmp (), isipokuwa inalinganisha herufi za kwanza n} kwenye kamba. Kazi hii inachukuliwa kuwa salama kwa sababu inazuia programu kukwama kwa sababu ya kupakia zaidi.
Hatua ya 2. Endesha programu na maktaba unayohitaji
Tunapendekeza uendeshe na, pamoja na maktaba nyingine yoyote unayohitaji kwa programu fulani.
#jumuisha #jumuisha
Hatua ya 3. Endesha kazi
int. Hii ndiyo njia rahisi ya kujifunza kazi hii, kwa sababu inarudisha nambari kamili ya kulinganisha idadi ya wahusika katika kamba mbili.
# pamoja na # pamoja na int kuu () {}
Hatua ya 4. Fafanua masharti mawili unayotaka kulinganisha
Kwa mfano, tutalinganisha minyororo 2 ya data ya aina ya char ambayo imefafanuliwa hapo awali. Unaweza pia kufafanua thamani iliyorudishwa na kazi hii kuwa na nambari ya aina ya data.
# pamoja na # pamoja na int kuu () {char * str1 = "apple"; char * str2 = "machungwa"; int ret; }
Hatua ya 5. Ongeza kazi ya kulinganisha
Mara baada ya kufafanua kamba hizi mbili, unaweza kuongeza kazi ya kulinganisha. Tutatumia strncmp (), kwa hivyo tutahitaji kuhakikisha kuwa idadi ya herufi za kupima imewekwa katika kazi.
# pamoja na # pamoja na int kuu () {char * str1 = "apple"; char * str2 = "machungwa"; int ret; ret = strncmp (str1, str2, 6); / * Kazi hii italinganisha "kamba" zote mbili za herufi 6 * /}
Hatua ya 6. Tumia taarifa
Ikiwa… Kingine kufanya kulinganisha. Baada ya kuongeza kazi kwenye programu yako, unaweza kutumia taarifa kuonyesha ni kamba gani inayo herufi zaidi. strncmp () itarudi 0 ikiwa masharti yana idadi sawa ya herufi, nambari chanya ikiwa str1 ni ndefu na nambari hasi ikiwa str2 ni ndefu.
# 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 zote mbili zina urefu sawa"); } kurudi (0); }