![Si të krahasojmë dy vargje në gjuhën e programimit C - Shoqëri Si të krahasojmë dy vargje në gjuhën e programimit C - Shoqëri](https://a.vvvvvv.in.ua/society/kak-sravnit-dve-stroki-na-yazike-programmirovaniya-c-6.webp)
Përmbajtje
Codeshtë mjaft e zakonshme në kodin C të krahasosh gjatësinë e vargut për të gjetur se cili varg përmban më shumë karaktere. Kjo është e dobishme për renditjen e të dhënave. Një funksion i veçantë është i nevojshëm për të krahasuar vargjet - mos përdorni != ose ==.
Hapa
1 Gjuha e programimit C përfshin dy funksione që mund t'i përdorni për të krahasuar gjatësinë e vargut. Të dyja këto funksione përfshihen në bibliotekë string.h>.
- strcmp () - ky funksion krahason dy vargje dhe kthen ndryshimin në numrin e karaktereve.
- strncmp () - ky funksion është i njëjtë me strcmp () përveç se e para n personazhet. Konsiderohet më e sigurt sepse shmang dështimet e tejmbushjes.
2 Filloni programin me bibliotekat e kërkuara. Ju do të keni nevojë për biblioteka stdio.h> dhe string.h>si dhe çdo bibliotekë tjetër që kërkohet për programin tuaj specifik.
#include stdio.h> #include string.h>
3 Fut funksionin int. Kthen një numër të plotë si rezultat i krahasimit të gjatësisë së dy vargjeve.
#include stdio.h> #include string.h> int main () {}
4 Identifikoni dy vargjet që dëshironi të krahasoni. Në shembullin tonë, le të krahasojmë dy vargje të tipit karbon... Gjithashtu përcaktoni vlerën e kthimit si një numër i plotë.
#include stdio.h> #include string.h> int main () {char * str1 = "mollë"; char * str2 = "portokalli"; int ret; }
5 Futni një funksion krahasimi. Në shembullin tonë, ne do të përdorim funksionin strncmp ()... Në të ju duhet të vendosni numrin e karaktereve të matura.
#include stdio.h> #include string.h> int main () {char * str1 = "mollë"; char * str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 8); / * Krahason dy vargje deri në 8 karaktere të gjata * /}
6 Vendosni një deklaratë të kushtëzuar Nëse.. Tjetër. Neededshtë e nevojshme për të treguar se cila linjë është më e gjatë. Funksioni strncmp () do të kthejë numrin 0nëse gjatësitë e vargjeve janë të njëjta, 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, 8); if (ret> 0) {printf ("str1 është më e gjatë"); } else if (ret 0) {printf ("str2 është më e gjatë"); } else {printf ("Gjatësitë e rreshtave janë të barabarta"); } kthimi (0); }
Paralajmërimet
- Mos harroni se nëse gjatësitë e vargjeve janë të barabarta, vlera 0. do të kthehet. Kjo mund të jetë konfuze sepse 0 është gjithashtu FALSE.