Sammenligning af strenglængder er en almindeligt anvendt funktion i C -programmering, fordi den kan fortælle dig, hvilken streng der har flere tegn. Denne funktion er meget nyttig til sortering af data. At sammenligne strenge kræver en særlig funktion; brug ikke! = eller ==.
Trin
Trin 1. Der er 2 typer funktioner, som du kan bruge til at sammenligne strenge på C -sprog
Begge disse funktioner er inkluderet i biblioteket.
- strcmp (): Denne funktion sammenligner to strenge og returnerer resultatet ved at sammenligne antallet af tegn mellem dem.
- strncmp (): Denne funktion er den samme som strcmp (), bortset fra at den sammenligner de første n} tegn i strengen. Denne funktion betragtes som sikrere, fordi den forhindrer, at programmet går i stå på grund af overbelastning.
Trin 2. Kør programmet med de biblioteker, du har brug for
Vi anbefaler, at du kører, og sammen med alle andre biblioteker, du har brug for til et bestemt program.
#include #include
Trin 3. Kør en funktion
int. Dette er den nemmeste måde at lære denne funktion på, fordi den returnerer heltalværdien for en sammenligning af antallet af tegn i to strenge.
#include #include int main () {}
Trin 4. Definer de to strenge, du vil sammenligne
For eksempel vil vi sammenligne 2 strenge type char -data, der er defineret tidligere. Du kan også definere værdien, der returneres af denne funktion til at have datatypen heltal.
#include #include int main () {char *str1 = "æble"; char *str2 = "orange"; int ret; }
Trin 5. Tilføj sammenligningsfunktion
Når du har defineret disse to strenge, kan du tilføje en sammenligningsfunktion. Vi bruger strncmp (), så vi skal sørge for, at antallet af tegn, der skal måles, er konfigureret i funktionen.
#include #include int main () {char *str1 = "æble"; char *str2 = "orange"; int ret; ret = strncmp (str1, str2, 6); / *Denne funktion vil sammenligne begge '' streng '' på 6 tegn */}
Trin 6. Brug udsagn
Hvis … Ellers at foretage sammenligningen. Når du har tilføjet en funktion til dit program, kan du bruge en sætning til at vise, hvilken streng der har flere tegn. strncmp () returnerer 0, hvis strengene har samme antal tegn, et positivt tal, hvis str1 er længere og et negativt tal, hvis str2 er længere.
#include #include int main () {char *str1 = "æble"; char *str2 = "orange"; int ret; ret = strncmp (str1, str2, 6); hvis (ret> 0) {printf ("str1 er længere"); } ellers hvis (ret <0) {printf ("str2 er længere"); } else {printf ("Begge strenge er lige lange"); } retur (0); }