Stringide pikkuste võrdlemine on C -programmeerimises tavaliselt kasutatav funktsioon, sest see võib teile öelda, millises stringis on rohkem märke. See funktsioon on andmete sortimisel väga kasulik. Stringide võrdlemine nõuab erifunktsiooni; ära kasuta! = või ==.
Samm
Samm 1. C -keeles stringide võrdlemiseks saate kasutada kahte tüüpi funktsioone
Mõlemad funktsioonid on raamatukogus olemas.
- strcmp (): see funktsioon võrdleb kahte stringi ja tagastab nendevahelise märkide arvu võrdlemise tulemuse.
- strncmp (): see funktsioon on sama mis strcmp (), ainult et see võrdleb stringi esimesi n} märki. Seda funktsiooni peetakse ohutumaks, kuna see takistab programmi ülekoormuse tõttu seiskumist.
Samm 2. Käivitage programm vajalike teekidega
Soovitame käivitada ja koos muude raamatukogudega, mida vajate konkreetse programmi jaoks.
#kaasama #kaasama
Samm 3. Käivitage funktsioon
int. See on lihtsaim viis selle funktsiooni õppimiseks, kuna see tagastab kahe stringi tähemärkide võrdluse täisarvulise väärtuse.
#include #include int main () {}
Samm 4. Määratlege kaks stringi, mida soovite võrrelda
Näiteks võrdleme kahte eelnevalt määratletud stringi tüüpi andmestikku. Selle funktsiooni tagastatava väärtuse saate määrata ka andmetüübi täisarvuks.
#include #include int main () {char *str1 = "õun"; char *str2 = "oranž"; int ret; }
Samm 5. Lisage võrdlusfunktsioon
Kui olete need kaks stringi määratlenud, saate lisada võrdlusfunktsiooni. Me kasutame strncmp (), seega peame veenduma, et mõõdetavate märkide arv on funktsioonis seadistatud.
#include #include int main () {char *str1 = "õun"; char *str2 = "oranž"; int ret; ret = strncmp (str1, str2, 6); / *See funktsioon võrdleb mõlemat 6 -tähemärgilist '' stringi '' */}
Samm 6. Kasutage avaldusi
Kui… Muul juhul võrdlus. Pärast funktsiooni lisamist oma programmi saate avaldise abil kuvada, millises stringis on rohkem märke. strncmp () tagastab 0, kui stringidel on sama arv tähemärke, positiivne arv, kui str1 on pikem ja negatiivne arv, kui str2 on pikem.
#include #include int main () {char *str1 = "õun"; char *str2 = "oranž"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 on pikem"); } else if (ret <0) {printf ("str2 on pikem"); } else {printf ("Mõlemad stringid on sama pikkusega"); } tagasitulek (0); }