De string die kleiner is lexicografisch kleiner (het begint met letters die vóór de beginletters van de andere snaar in een woordenboek).
Stappen
- 1Onder 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.
- 2Verklaren 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.
- 3Beslissen 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.
- 4Een variabele die het aantal tekens te vergelijken bevat.
- 5Initialiseren van de snaren. Je kan de waarde handmatig toewijzen, leest het van de ingang, lees het uit een bestand...
- 6Vergelijk de snaren. De vergelijking wordt gedaan met behulp van de strncmp () functie, en de geretourneerde type is een geheel getal.
- 7Onderzoeken 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.