Die vergelyking van snaarlengtes is 'n algemene funksie in C -programmering, omdat dit u kan vertel watter string meer karakters bevat. Hierdie funksie is baie handig om data te sorteer. Om stringe te vergelyk, vereis 'n spesiale funksie; gebruik nie! = of ==.
Stap
Stap 1. Daar is 2 tipes funksies wat u kan gebruik om snare in C -taal te vergelyk
Beide hierdie funksies is ingesluit in die biblioteek.
- strcmp (): Hierdie funksie vergelyk twee snare en gee 'n resultaat van die vergelyking van die aantal karakters tussen hulle.
- strncmp (): Hierdie funksie is dieselfde as strcmp (), behalwe dat dit die eerste n} karakters in die string vergelyk. Hierdie funksie word as veiliger beskou omdat dit verhoed dat die program stop as gevolg van oorlading.
Stap 2. Begin die program met die biblioteke wat u benodig
Ons beveel aan dat u hardloop en saam met enige ander biblioteke wat u benodig vir 'n spesifieke program.
#include #include
Stap 3. Begin 'n funksie
int. Dit is die maklikste manier om hierdie funksie te leer, omdat dit die heelgetalwaarde van 'n vergelyking van die aantal karakters in twee snare gee.
#include #include int main () {}
Stap 4. Definieer die twee snare wat u wil vergelyk
Ons vergelyk byvoorbeeld 2 snare tipe char -data wat voorheen gedefinieer is. U kan ook die waarde wat deur hierdie funksie teruggestuur word, definieer om die datatipe heelgetal te hê.
#include #include int main () {char *str1 = "appel"; char *str2 = "oranje"; int ret; }
Stap 5. Voeg vergelykingsfunksie by
Nadat u die twee snare gedefinieer het, kan u 'n vergelykingsfunksie byvoeg. Ons gebruik strncmp (), dus moet ons seker maak dat die aantal karakters wat gemeet moet word in die funksie opgestel is.
#include #include int main () {char *str1 = "appel"; char *str2 = "oranje"; int ret; ret = strncmp (str1, str2, 6); / *Hierdie funksie vergelyk beide '' string '' van 6 karakters */}
Stap 6. Gebruik stellings
As … Anders om die vergelyking te doen. Nadat u 'n funksie by u program gevoeg het, kan u 'n stelling gebruik om te wys watter string meer karakters bevat. strncmp () gee 0 terug as die snare dieselfde aantal karakters het, 'n positiewe getal as str1 langer is en 'n negatiewe getal as str2 langer 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 ("Beide snare is ewe lank"); } terugkeer (0); }