Att jämföra stränglängder är en vanligt förekommande funktion i C -programmering, eftersom den kan berätta vilken sträng som har fler tecken. Denna funktion är mycket användbar vid sortering av data. Att jämföra strängar kräver en speciell funktion; använd inte! = eller ==.
Steg
Steg 1. Det finns två typer av funktioner som du kan använda för att jämföra strängar på C -språk
Båda dessa funktioner ingår i biblioteket.
- strcmp (): Denna funktion jämför två strängar och returnerar resultatet av att jämföra antalet tecken mellan dem.
- strncmp (): Den här funktionen är densamma som strcmp (), förutom att den jämför de första n} tecknen i strängen. Denna funktion anses vara säkrare eftersom den förhindrar att programmet stannar på grund av överbelastning.
Steg 2. Kör programmet med de bibliotek du behöver
Vi rekommenderar att du kör och tillsammans med alla andra bibliotek du behöver för ett visst program.
#inkludera #inkludera
Steg 3. Kör en funktion
int. Detta är det enklaste sättet att lära sig den här funktionen, eftersom den returnerar heltalets värde för en jämförelse av antalet tecken i två strängar.
#include #include int main () {}
Steg 4. Definiera de två strängar du vill jämföra
Till exempel kommer vi att jämföra 2 strängar av typ char data som har definierats tidigare. Du kan också definiera värdet som returneras av den här funktionen för att ha datatypen heltal.
#include #include int main () {char *str1 = "apple"; char *str2 = "orange"; int ret; }
Steg 5. Lägg till jämförelsesfunktion
När du har definierat dessa två strängar kan du lägga till en jämförelsesfunktion. Vi kommer att använda strncmp (), så vi måste se till att antalet tecken som ska mätas är konfigurerat i funktionen.
#include #include int main () {char *str1 = "apple"; char *str2 = "orange"; int ret; ret = strncmp (str1, str2, 6); / *Denna funktion jämför både '' sträng '' med 6 tecken */}
Steg 6. Använd uttalanden
Om … Annars att göra jämförelsen. När du har lagt till en funktion i ditt program kan du använda ett uttalande för att visa vilken sträng som har fler tecken. strncmp () returnerar 0 om strängarna har samma antal tecken, ett positivt tal om str1 är längre och ett negativt tal om str2 är längre.
#include #include int main () {char *str1 = "apple"; char *str2 = "orange"; int ret; ret = strncmp (str1, str2, 6); om (ret> 0) {printf ("str1 är längre"); } annat om (ret <0) {printf ("str2 är längre"); } else {printf ("Båda strängarna är lika långa"); } retur (0); }