Salīdziniet divas virknes programmēšanas valodā C.

Autors: Judy Howell
Radīšanas Datums: 27 Jūlijs 2021
Atjaunināšanas Datums: 10 Maijs 2024
Anonim
C_68 C program to Compare two Strings | with strcmp() and without strcmp() function
Video: C_68 C program to Compare two Strings | with strcmp() and without strcmp() function

Saturs

Stīgu garuma salīdzinājums ir bieži izmantota funkcija C programmēšanas valodā, jo tā ļauj uzzināt, kura virkne satur vairāk rakstzīmju. Tas ir ļoti noderīgi datu kārtošanai. Stīgu salīdzināšanai nepieciešama īpaša funkcija; tāpēc nelietojiet: != vai ==.

Lai soli

  1. Ir divas funkcijas, kas ļauj salīdzināt virknes C. Abi ir iekļauti virkne.h>kodu bibliotēka.
    • strcmp () - Šī funkcija salīdzina divas virknes un atgriež rakstzīmju skaita starpību.
    • strncmp () - Tas attiecas arī uz strcmp (), izņemot to, ka šis ir pirmais n salīdzina rakstzīmes. Tas tiek uzskatīts par drošāku, jo tas palīdz novērst pārplūdes avārijas.
  2. Palaidiet programmu ar nepieciešamajām bibliotēkām. Jums ir abas bibliotēkas stdio.h> un virkne.h> nepieciešamas kopā ar citām bibliotēkām, kas jums var būt nepieciešamas jūsu programmai.

    #include stdio.h> [[Attēls: salīdziniet divas virknes C programmēšanas 1. darbības 4. versijā. jpg | centrs]] #include string.h>

  3. Sāciet vienu.intfunkciju. Tas ir vienkāršākais veids, kā iemācīties šo funkciju, jo tā atgriež veselu skaitli, salīdzinot divu virkņu garumu.

    [[Attēls: Salīdziniet divas virknes C programmēšanas 2. darbības versijā 4.webp | center]] #include stdio.h> [[Image: Salīdziniet divas virknes C programmēšanas 3. darbības 3. versijā. h> int main () {}

  4. Izlemiet, kuras divas virknes vēlaties salīdzināt. Šajā piemērā mēs salīdzinām divus datus char stīgas. Jums arī jānosaka atgriešanās vērtība kā vesels skaitlis.

    [[Attēls: Salīdziniet divas virknes C programmēšanas 4. darbības versijā 4. versija 4.webp | center]] #include stdio.h> [[Image: Salīdziniet divas virknes C programmēšanas 5. darbības versijā 4.webp | center]] #include string. h> int main () {char * str1 = "ābols"; char * str2 = "oranžs"; int ret;}

  5. Pievienojiet salīdzināšanas funkciju. Tagad, kad esat definējis divas virknes, varat pievienot funkciju Salīdzināt. Mēs ejam strncmp () tāpēc mums jāpārliecinās, vai funkcijā ir noteikts izmērāmo rakstzīmju skaits.

    [[Attēls: salīdziniet divas virknes C programmēšanas 6. darbības versijā 4.webp | centrs]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "oranžs"; int ret; ret = strncmp (str1, str2, 11); / * Salīdzina abas virknes līdz 11 rakstzīmēm. * /}

  6. Izmantot.Ja ... Citsveikt salīdzinājumu. Tagad, kad esam izveidojuši funkciju, izmantojiet Ja ... Cits lai noteiktu, kura virkne ir garāka. strncmp () dod 0 Rezultātā, ja virknes ir vienāda garuma, pozitīvs skaitlis, ja str1 ir garāks, un negatīvs skaitlis, ja str2 ir garāks.

    #include stdio.h> #include string.h> int main () {char * str1 = "ābols"; char * str2 = "oranžs"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 ir garāks"); } else if (ret 0) {printf ("str2 ir garāks"); } else {printf ("Divas virknes ir vienādas"); } atgriešanās (0); }

Brīdinājumi

  • Atcerieties, ka atgriešanās vērtība ir 0, ja virknes ir vienādas. Tas var būt mulsinoši, jo 0 ir arī FALSE vērtība.