Berðu saman tvo strengi á forritunarmáli C.

Höfundur: Judy Howell
Sköpunardag: 27 Júlí 2021
Uppfærsludagsetning: 10 Maint. 2024
Anonim
Berðu saman tvo strengi á forritunarmáli C. - Ráð
Berðu saman tvo strengi á forritunarmáli C. - Ráð

Efni.

Samanburður á lengd strengja er algeng aðgerð í forritunarmálinu C, því það gerir þér kleift að komast að því hvaða strengur inniheldur fleiri stafi. Þetta er mjög gagnlegt til að flokka gögn. Strengjasamanburður krefst sérstakrar aðgerðar; svo ekki nota: != eða ==.

Að stíga

  1. Það eru tvær aðgerðir sem gera þér kleift að bera saman strengi í C. Hvort tveggja er innifalið í streng.h>kóðasafn.
    • strcmp () - Þessi aðgerð ber saman tvo strengi og skilar mismuninum á fjölda stafa.
    • strncmp () - Þetta á einnig við um strcmp (), nema að þessi er sá fyrsti n ber saman persónur. Það er talið öruggara þar sem það hjálpar til við að koma í veg fyrir hrun í yfirfalli.
  2. Keyrðu forritið með nauðsynlegum bókasöfnum. Þú hefur bæði bókasöfnin stdio.h> og streng.h> þörf, ásamt öðrum bókasöfnum sem þú gætir þurft fyrir forritið þitt.

    #include stdio.h> [[Mynd: Bera saman tvo strengi í C forritun Skref 1 útgáfa 4.webp | miðja]] #include string.h>

  3. Byrjaðu einn.þmvirka. Þetta er auðveldasta leiðin til að læra þessa aðgerð þar sem hún skilar heiltölu sem ber saman lengd strengjanna tveggja.

    [[Mynd: Berðu saman tvo strengi í C forritun Skref 2 útgáfa 4.webp | miðja]] #include stdio.h> [[Mynd: Berðu saman tvo strengi í C forritun skref 3 útgáfa 3.webp | miðja]] #include string. h> int aðal () {}

  4. Ákveðið hvaða tveir strengir þú vilt bera saman. Í þessu dæmi berum við saman tvö gögn bleikja strengir. Þú verður einnig að ákvarða skilagildið sem heiltala.

    [[Mynd: Berðu saman tvo strengi í C forritun 4. skref útgáfa 4.webp | miðja]] #include stdio.h> [[Mynd: Berðu saman tvo strengi í C forritun skref 5 útgáfa 4.webp | miðja]] #include string. h> int aðal () {char * str1 = "epli"; bleikja * str2 = "appelsínugulur"; int ret;}

  5. Bætið samanburðaraðgerðinni. Nú þegar þú hefur skilgreint tvo strengi geturðu bætt samanburðaraðgerðinni. Við förum strncmp () þannig að við verðum að ganga úr skugga um að fjöldi stafi til að mæla sé stilltur innan fallsins.

    [[Mynd: Berðu saman tvo strengi í C forritun Skref 6 útgáfa 4.webp | miðja]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; bleikja * str2 = "appelsínugulur"; int ret; ret = strncmp (str1, str2, 11); / * Samanber tvo strengi sem eru allt að 11 stafir að lengd * /}

  6. Notaðu.Ef annaðað framkvæma samanburðinn. Nú þegar við höfum búið til aðgerðina skaltu nota Ef annað til að ákvarða hvaða strengur er lengri. strncmp () gefur 0 þar af leiðandi, ef strengirnir eru jafnlangir, jákvæð tala ef str1 er lengri og neikvæð tala ef str2 er lengri.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; bleikja * str2 = "appelsínugulur"; int ret; ret = strncmp (str1, str2, 11); ef (ret> 0) {printf ("str1 er lengri"); } annað ef (ret 0) {printf ("str2 er lengra"); } annað {printf ("Strengirnir tveir eru eins"); } skila (0); }

Viðvaranir

  • Mundu að skilagildið er 0 ef strengirnir eru jafnir. Þetta getur verið ruglingslegt vegna þess að 0 er einnig gildi FALSE.