Krahasimi i gjatësisë së vargut është një funksion i zakonshëm në programimin C, pasi ju lejon të shihni se cili varg përmban më shumë karaktere. Kjo është shumë e dobishme për renditjen e të dhënave. Krahasimi i vargjeve kërkon një funksion të veçantë; mos përdorni! = ose ==.
Hapa
Hapi 1. Ekzistojnë dy funksione që ju lejojnë të krahasoni vargjet në C
Të dyja këto funksione përfshihen në bibliotekë.
- strcmp () - Ky funksion krahason dy vargje dhe kthen ndryshimin krahasues në numrin e karaktereve.
- strncmp () - Kjo është njësoj si strcmp (), me përjashtim të faktit se krahason n karakteret e para. Konsiderohet më e sigurt pasi ndihmon në parandalimin e daljes nga përplasjet.
Hapi 2. Filloni programin me bibliotekat tuaja të nevojshme
Ju do të dëshironi si bibliotekat ashtu edhe bibliotekat, së bashku me ndonjë tjetër që mund t'ju nevojitet për programin tuaj specifik.
#përfshi #përfshi
Hapi 3. Filloni një
int funksionin.
Kjo është mënyra më e lehtë për të mësuar këtë funksion, pasi do të kthejë një numër të plotë që krahason gjatësinë e dy vargjeve.
#include #include int main () {}
Hapi 4. Përcaktoni dy vargjet që dëshironi të krahasoni
Për këtë shembull, ne do të krahasojmë dy vargje të paracaktuara të karbonit. Ju gjithashtu do të dëshironi të përcaktoni vlerën e kthimit si një numër të plotë.
#include #include int main () {char *str1 = "mollë"; char *str2 = "portokalli"; int ret; }
Hapi 5. Shtoni funksionin e krahasimit
Tani që i keni përcaktuar dy vargjet tuaja, mund të shtoni funksionin e krahasimit. Ne do të përdorim strncmp (), kështu që ne duhet të sigurohemi që numri i karaktereve që do të maten është vendosur në funksion.
#include #include int main () {char *str1 = "mollë"; char *str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 6); / *Kjo do të krahasojë dy vargjet deri në 6 karaktere të gjatë */}
Hapi 6. Përdorni një
Nese Tjeter deklarata për të kryer krahasimin.
Tani që e keni funksionin në vend, mund të përdorni një deklaratë If … Else për të shfaqur se cili varg është më i gjatë. strncmp () do të kthejë 0 nëse vargjet janë të njëjtën gjatësi, një numër pozitiv nëse str1 është më i madh dhe një numër negativ nëse str2 është më i madh.
#include #include int main () {char *str1 = "mollë"; char *str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 është më e gjatë"); } else if (ret <0) {printf ("str2 është më e gjatë"); } else {printf ("Të dy vargjet janë të barabartë"); } kthimi (0); }