Die vergelyking van stringlengte is 'n algemene funksie in C -programmering, aangesien dit u toelaat om te sien watter string meer karakters bevat. Dit is baie handig om data te sorteer. Om stringe te vergelyk, vereis 'n spesiale funksie; gebruik nie! = of ==.
Stappe
Stap 1. Daar is twee funksies waarmee u snare in C kan vergelyk
Beide hierdie funksies is ingesluit in die biblioteek.
- strcmp () - Hierdie funksie vergelyk twee snare en gee die vergelykende verskil in die aantal karakters terug.
- strncmp () - Dit is dieselfde as strcmp (), behalwe dat dit die eerste n karakters vergelyk. Dit word as veiliger beskou, aangesien dit help om ongelukke deur oorloop te voorkom.
Stap 2. Begin die program met u nodige biblioteke
U benodig beide die en biblioteke, sowel as ander wat u benodig vir u spesifieke program.
#include #include
Stap 3. Begin 'n
int funksie.
Dit is die maklikste manier om hierdie funksie te leer, aangesien dit 'n heelgetal sal gee wat die lengte van die twee snare vergelyk.
#include #include int main () {}
Stap 4. Definieer die twee snare wat u wil vergelyk
In hierdie voorbeeld vergelyk ons twee vooraf gedefinieerde char snare. U sal ook die opbrengswaarde as 'n heelgetal wil definieer.
#include #include int main () {char *str1 = "appel"; char *str2 = "oranje"; int ret; }
Stap 5. Voeg die vergelykingsfunksie by
Noudat u u twee snare gedefinieer het, kan u die vergelykingsfunksie byvoeg. Ons gaan strncmp () gebruik, dus moet ons seker maak dat die aantal karakters wat gemeet moet word, in die funksie gestel word.
#include #include int main () {char *str1 = "appel"; char *str2 = "oranje"; int ret; ret = strncmp (str1, str2, 6); / *Dit vergelyk die twee snare tot 6 karakters lank */}
Stap 6. Gebruik 'n
As … Anders stelling om die vergelyking uit te voer.
Noudat u die funksie in plek het, kan u 'n If … Else -stelling gebruik om aan te toon watter string langer is. strncmp () gee 0 as die snare dieselfde lengte is, 'n positiewe getal as str1 groter is en 'n negatiewe getal as str2 groter is.
#include #include int main () {char *str1 = "appel"; char *str2 = "oranje"; int ret; ret = strncmp (str1, str2, 6); as (ret> 0) {printf ("str1 is langer"); } anders as (ret <0) {printf ("str2 is langer"); } anders {printf ("Die twee snare is gelyk"); } terugkeer (0); }