Wkunl

Hoe je twee strings in C programmeren vergelijken

De string die kleiner is lexicografisch kleiner (het begint met letters die vóór de beginletters van de andere snaar in een woordenboek).

Stappen

Hoe je twee strings in C programmeren vergelijken. Onder de string bibliotheek in uw programma.
Hoe je twee strings in C programmeren vergelijken. Onder de string bibliotheek in uw programma.
  1. 1
    Onder de string bibliotheek in uw programma. Deze bibliotheek bevat veel nuttige functies gebruikt bij het werken met strijkers, waaronder een die hen vergelijkt. Plaats de volgende code in de top van het programma met de andere omvat.
      

  2. 2
    Verklaren de string variabelen. Die zal de strings u vergelijkt. Merk op dat strings in C worden gedeclareerd als arrays van karakters, niet als een speciale string type.
      

  3. 3
    Beslissen hoeveel tekens u wenst te vergelijken.
    • Hoe meer je het vergelijkt, hoe hoger de precisie die u zal bereiken (Bijvoorbeeld, als de snaren waren "Hell" en "Hello" en u vergeleken vier personages, zouden ze hetzelfde lijken).
    • Als je een heleboel personages vergelijken, zal de vergelijking langzamer.
    • Er is geen noodzaak dit getal groter dan lengte van de snaren (geen letters geselecteerd na hun uiteinde) te maken.
  4. 4
    Een variabele die het aantal tekens te vergelijken bevat.
      

  5. 5
    Initialiseren van de snaren. Je kan de waarde handmatig toewijzen, leest het van de ingang, lees het uit een bestand...
  6. 6
    Vergelijk de snaren. De vergelijking wordt gedaan met behulp van de strncmp () functie, en de geretourneerde type is een geheel getal.
      

  7. 7
    Onderzoeken het resultaat. Indien positief, de eerste groep groter is. Wanneer het verschil negatief, het tweede groter. Als het 0, ze gelijk.
      

Voorbeeldcode

Een programma dat eenvoudige vragen ('Wat is je naam? "," Hoe gaat het? "," Wat denk je van Google?') Antwoordt

  # Include <stdio.h>  # Include <string.h>    int main ()  {  printf ("Hello Stel mij een vraag \ n!");  terwijl (1)  {  char str [100];  scanf ("% s", & str);  int res = strncmp (str, "Wat is uw naam? ', 100);  if (res == 0)  printf ("Ik ben een programma, ik heb geen naam hebben \ n");  res = strncmp (str, "Hoe gaat het? ', 100);  if (res == 0)  printf ("Fine \ n.");  res = strncmp (str, 'Wat denk je van Google?', 100);  if (res == 0)  printf ("Het is geweldig!");  }  } 

Tips

  • De parameter compareLimit vertelt strncmp het maximum aantal tekens te onderzoeken. Gebruik strncmp plaats van de originele strcmp (evenals de andere Strn * routines versus hun tegenhangers str *) is een van de vele manieren waarop C programma stabieler en veiliger worden gemaakt.
  • Deze functie kan worden gebruikt in een "if" statement.

Waarschuwingen

  • Vergeet niet dat de return waarde is 0 als de snaren zijn hetzelfde. Dit kan je in de war want 0 is ook de waarde FALSE.