Përmbajtje
Krahasimi i gjatësisë së vargut është një funksion i përdorur zakonisht në gjuhën programuese C, sepse ju lejon të zbuloni se cila varg përmban më shumë karaktere. Kjo është shumë e dobishme për klasifikimin e të dhënave. Krahasimi i vargut kërkon një funksion të veçantë; kështu që mos përdorni: != ose ==.
Të shkelësh
- Ekzistojnë dy funksione që ju lejojnë të krahasoni vargjet në C. Të dy janë përfshirë në varg.h>biblioteka e kodeve.
- strcmp () - Ky funksion krahason dy vargje dhe kthen ndryshimin në numrin e karaktereve.
- strncmp () - Kjo vlen edhe për strcmp (), përveç që kjo është e para n krahason personazhet. Konsiderohet më e sigurt pasi ndihmon në parandalimin e përplasjeve të tejmbushura.
- Drejtoni programin me bibliotekat e nevojshme. Ju i keni të dy bibliotekat stdio.h> dhe varg.h> të nevojshme, së bashku me bibliotekat e tjera që mund t'ju duhen për programin tuaj.
#include stdio.h> [[Image: Krahasoni Dy Vargje në Programimin C Hapi 1 Version 4.webp | qendra]] #include string.h>
- Filloni një.intfunksioni Kjo është mënyra më e lehtë për të mësuar këtë funksion pasi kthen një numër të plotë duke krahasuar gjatësinë e dy vargjeve.
[[Image: Krahasoni Dy Strings në Programimin C Hapi 2 Version 4.webp | qendra]] #include stdio.h> [[Image: Krahasoni Dy Strings në Programimin C Hapi 3 Versioni 3.webp | qendra]] # përfshij vargun. h> int kryesore () {}
- Vendosni se cilat dy vargje dëshironi të krahasoni. Në këtë shembull krahasojmë dy të dhëna karro telave. Ju gjithashtu duhet të përcaktoni vlerën e kthimit si një numër të plotë.
[[Imazhi: Krahasoni Dy Vargje në Programimin C Hapi 4 Version 4.webp | qendër]] #include stdio.h> [[Image: Krahasoni Dy Vargje në Programimin C Hapi 5 Versioni 4.webp | qendra]] # përfshij vargun. h> int main () {char * str1 = "mollë"; char * str2 = "portokalli"; int ret;}
- Shtoni funksionin e krahasimit. Tani që keni përcaktuar dy vargje, mund të shtoni funksionin e krahasimit. Ne shkojm strncmp () kështu që duhet të sigurohemi që numri i karaktereve për të matur është vendosur brenda funksionit.
[[Image: Krahasoni Dy Vargje në Programimin C Hapi 6 Version 4.webp | qendër]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 11); / * Krahason të dy vargjet deri në 11 karaktere të gjata * /}
- PërdorniNese Tjeterpër të kryer krahasimin. Tani që kemi krijuar funksionin, përdorni Nese Tjeter për të përcaktuar se cila varg është më e gjatë. strncmp () jep 0 si rezultat, nëse vargjet janë me të njëjtën gjatësi, një numër pozitiv nëse str1 është më i gjatë dhe një numër negativ nëse str2 është më i gjatë.
#include stdio.h> #include string.h> int main () {char * str1 = "mollë"; char * str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 është më i gjatë"); } tjetër nëse (ret 0) {printf ("str2 është më i gjatë"); } else {printf ("Të dy vargjet janë të njëjta"); } kthimi (0); }
Paralajmërime
- Mos harroni se vlera e kthimit është 0 nëse vargjet janë të barabarta. Kjo mund të jetë konfuze sepse 0 është gjithashtu vlera e FALSE.