Wkudk

Hvordan man kan sammenligne to strenge i C-programmering

Den streng, der er mindre er leksikografiske mindre (det starter med bogstaver, der er før begyndelsesbogstaverne fra den anden snor i en ordbog).

Steps

Hvordan man kan sammenligne to strenge i C-programmering. Medtag strengen biblioteket i dit program.
Hvordan man kan sammenligne to strenge i C-programmering. Medtag strengen biblioteket i dit program.
  1. 1
    Medtag strengen biblioteket i dit program. Dette bibliotek indeholder en masse nyttige funktioner, der bruges, når du arbejder med strygere, herunder en, der sammenligner dem. Placer følgende kode i toppen af ​​programmet, med det andet omfatter.
    
    

  2. 2
    Erklær strengen variable. De vil være de strenge, du vil sammenligne. Bemærk at strenge i C angives som arrays af tegn, ikke som en speciel snor type.
    
    

  3. 3
    Beslut, hvor mange tegn, du ønsker at sammenligne.
    • Jo mere du sammenligner, jo højere præcision du vil opnå (For eksempel, hvis strengene var "Hell" og "Hello" og du sammenlignet fire tegn, ville de synes det samme).
    • Hvis du sammenligner en masse tegn, skal sammenligningen være langsommere.
    • Der er ingen grund til at gøre dette tal større end strengene 'længder (der er ingen tegn til sammenligningen efter deres ende).
  4. 4
    Opret en variabel, der indeholder antallet af tegn til at sammenligne.
    
    

  5. 5
    Initialiser strengene. Du kan tildele værdien manuelt, læse den fra indgangen, læse den fra en fil...
  6. 6
    Sammenligne strengene. Sammenligningen sker ved hjælp af strncmp () funktion, og den returnerede type er et heltal.
    
    

  7. 7
    Undersøg resultatet. Hvis den er positiv, den første streng er større. Hvis den er negativ, den anden er større. Hvis det er 0, er de ens.
    
    

Sample code

Et program, der besvarer enkle spørgsmål ("Hvad er dit navn?", "How are you?", "Hvad synes du om Google?")

 # Include <stdio.h>
 # Include <string.h>
 
 int main ()
 {
 printf ("Hello Spørg mig et spørgsmål \ n!");
 while (1)
 {
 char str [100];
 scanf ("% s", & str);
 int res = strncmp (str, "Hvad er dit navn?", 100);
 if (res == 0)
 printf ("Jeg er et program, jeg ikke har et navn \ n");
 res = strncmp (str, "Hvor er du?", 100);
 if (res == 0)
 printf ("Fint \ n".)
 res = strncmp (str, "Hvad synes du om Google?", 100);
 if (res == 0)
 printf ("Det er fantastisk!");
 }
 }

Tips

  • Den compareLimit parameter fortæller strncmp det maksimale antal tegn til at undersøge. Brug strncmp stedet for den oprindelige strcmp (samt de andre Strn * rutiner vs deres str * modparter) er en af ​​de mange måder, C-programmer kan gøres mere stabil og sikker.
  • Denne funktion kan bruges i et "hvis" erklæring.

Advarsler

  • Husk, at den returnerede værdi er 0, hvis strengene er de samme. Dette kan forvirre dig, fordi 0 er også værdien af ​​FALSK.