Sammenlign to strenge i programmeringssprog C.

Forfatter: Judy Howell
Oprettelsesdato: 27 Juli 2021
Opdateringsdato: 10 Kan 2024
Anonim
Nastya and funny Collection of New Stories for Kids
Video.: Nastya and funny Collection of New Stories for Kids

Indhold

Sammenligning af strenglængder er en almindeligt anvendt funktion i C-programmeringssproget, fordi det giver dig mulighed for at finde ud af, hvilken streng der indeholder flere tegn. Dette er meget nyttigt til sortering af data. Strengsammenligning kræver en særlig funktion; så brug ikke: != eller ==.

At træde

  1. Der er to funktioner, der giver dig mulighed for at sammenligne strenge i C. Begge er inkluderet i streng.h>kodebibliotek.
    • strcmp () - Denne funktion sammenligner to strenge og returnerer forskellen i antallet af tegn.
    • strncmp () - Dette gælder også for strcmp (), bortset fra at denne er den første n sammenligner tegn. Det betragtes som mere sikkert, da det hjælper med at forhindre overløbsnedbrud.
  2. Kør programmet med de nødvendige biblioteker. Du har begge biblioteker stdio.h> og streng.h> behov sammen med andre biblioteker, du muligvis har brug for til dit program.

    #include stdio.h> [[Billede: Sammenlign to strenge i C-programmering Trin 1 Version 4.webp | center]] #include string.h>

  3. Start en.intfungere. Dette er den nemmeste måde at lære denne funktion på, da den returnerer et heltal, der sammenligner længden af ​​de to strenge.

    [[Billede: Sammenlign to strenge i C-programmering Trin 2 Version 4.webp | center]] #include stdio.h> [[Billede: Sammenlign to strenge i C-programmering Trin 3 Version 3.webp | center]] #include string. h> int main () {}

  4. Beslut hvilke to strenge du vil sammenligne. I dette eksempel sammenligner vi to data char strenge. Du skal også bestemme returværdien som et heltal.

    [[Billede: Sammenlign to strenge i C-programmering Trin 4 Version 4.webp | center]] #include stdio.h> [[Billede: Sammenlign to strenge i C-programmering Trin 5 Version 4.webp | center]] #include string. h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret;}

  5. Tilføj sammenligningsfunktionen. Nu hvor du har defineret to strenge, kan du tilføje sammenligningsfunktionen. Vi går strncmp () så vi er nødt til at sikre os, at antallet af tegn, der skal måles, er indstillet inden for funktionen.

    [[Billede: Sammenlign to strenge i C-programmering Trin 6 Version 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); / * Sammenligner de to strenge op til 11 tegn lange * /}

  6. Brug.Hvis ellersfor at udføre sammenligningen. Nu hvor vi har oprettet funktionen, skal du bruge Hvis ellers for at bestemme hvilken streng der er længere. strncmp () giver 0 som et resultat, hvis strengene har samme længde, et positivt tal, hvis str1 er længere og et negativt tal, hvis str2 er længere.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); hvis (ret> 0) {printf ("str1 er længere"); } ellers hvis (ret 0) {printf ("str2 er længere"); } ellers {printf ("De to strenge er ens"); } returner (0); }

Advarsler

  • Husk, at returværdien er 0, hvis strengene er ens. Dette kan være forvirrende, fordi 0 også er værdien af ​​FALSE.