Jämför två strängar i programmeringsspråk C.

Författare: Judy Howell
Skapelsedatum: 27 Juli 2021
Uppdatera Datum: 10 Maj 2024
Anonim
Jämför två strängar i programmeringsspråk C. - Råd
Jämför två strängar i programmeringsspråk C. - Råd

Innehåll

Stränglängdjämförelse är en vanlig funktion i C-programmeringsspråket, eftersom den låter dig ta reda på vilken sträng som innehåller fler tecken. Detta är mycket användbart för att sortera data. Strängjämförelse kräver en speciell funktion; så använd inte: != eller ==.

Att gå

  1. Det finns två funktioner som låter dig jämföra strängar i C. Båda ingår i string.h>kodbibliotek.
    • strcmp () - Denna funktion jämför två strängar och returnerar skillnaden i antal tecken.
    • strncmp () - Detta gäller också strcmp (), förutom att den här är den första n jämför tecken. Det anses säkrare eftersom det hjälper till att förhindra överflödskrascher.
  2. Kör programmet med nödvändiga bibliotek. Du har båda biblioteken stdio.h> och string.h> behövs, tillsammans med andra bibliotek du kan behöva för ditt program.

    #include stdio.h> [[Bild: Jämför två strängar i C-programmering Steg 1 version 4.webp | center]] #include string.h>

  3. Starta en.intfungera. Detta är det enklaste sättet att lära sig denna funktion eftersom den returnerar ett heltal som jämför längden på de två strängarna.

    [[Bild: Jämför två strängar i C-programmering Steg 2 Version 4.webp | center]] #include stdio.h> [[Bild: Jämför två strängar i C-programmering Steg 3 Version 3.webp | center]] #include string. h> int main () {}

  4. Bestäm vilka två strängar du vill jämföra. I det här exemplet jämför vi två data röding strängar. Du måste också bestämma returvärdet som ett heltal.

    [[Bild: Jämför två strängar i C-programmering Steg 4 Version 4.webp | center]] #include stdio.h> [[Bild: Jämför två strängar i C-programmering Steg 5 Version 4.webp | center]] #include string. h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret;}

  5. Lägg till jämförelsesfunktionen. Nu när du har definierat två strängar kan du lägga till jämförelsesfunktionen. Vi går strncmp () så vi måste se till att antalet tecken som ska mätas ställs in i funktionen.

    [[Bild: Jämför två strängar i C-programmering Steg 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); / * Jämför de två strängarna på upp till 11 tecken * /}

  6. Använda sig av.Om annatför att utföra jämförelsen. Nu när vi har skapat funktionen, använd Om annat för att bestämma vilken sträng som är längre. strncmp () ger 0 som ett resultat, om strängarna är lika långa, ett positivt tal om str1 är längre och ett negativt tal om str2 är längre.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); om (ret> 0) {printf ("str1 är längre"); } annars om (ret 0) {printf ("str2 är längre"); } else {printf ("De två strängarna är desamma"); } returnera (0); }

Varningar

  • Kom ihåg att returvärdet är 0 om strängarna är lika. Detta kan vara förvirrande eftersom 0 också är värdet på FALSE.