Ang paghahambing ng mga haba ng string ay isang karaniwang ginagamit na pag-andar sa C programming, dahil masasabi nito sa iyo kung aling string ang may maraming mga character. Kapaki-pakinabang ang pagpapaandar na ito sa pag-uuri ng data. Ang paghahambing ng mga string ay nangangailangan ng isang espesyal na pagpapaandar; huwag gamitin! = o ==.
Hakbang
Hakbang 1. Mayroong 2 uri ng mga pagpapaandar na maaari mong gamitin upang ihambing ang mga string sa C na wika
Ang parehong mga pagpapaandar na ito ay kasama sa silid-aklatan.
- strcmp (): Ang pagpapaandar na ito ay naghahambing ng dalawang mga string at ibinalik ang resulta ng paghahambing ng bilang ng mga character sa pagitan nila.
- strncmp (): Ang pagpapaandar na ito ay kapareho ng strcmp (), maliban kung ihinahambing ang mga unang n} character sa string. Ang pagpapaandar na ito ay itinuturing na mas ligtas dahil pinipigilan nito ang programa na tumigil dahil sa labis na karga.
Hakbang 2. Patakbuhin ang programa sa mga aklatan na kailangan mo
Inirerekumenda namin na tumakbo ka at, kasama ang anumang iba pang mga silid-aklatan na kailangan mo para sa isang partikular na programa.
# isama ang # isama
Hakbang 3. Patakbuhin ang isang pagpapaandar
int. Ito ang pinakamadaling paraan upang malaman ang pagpapaandar na ito, dahil ibinabalik nito ang halaga ng integer ng isang paghahambing ng bilang ng mga character sa dalawang mga string.
#include #include int main () {}
Hakbang 4. Tukuyin ang dalawang mga string na nais mong ihambing
Halimbawa, ihahambing namin ang 2 mga string ng uri ng char data na naitala nang dati. Maaari mo ring tukuyin ang halagang ibinalik ng pagpapaandar na ito upang magkaroon ng data type integer.
#include #include int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; }
Hakbang 5. Magdagdag ng pagpapaandar ng paghahambing
Kapag natukoy mo na ang dalawang mga string, maaari kang magdagdag ng isang function ng paghahambing. Gumagamit kami ng strncmp (), kaya kailangan naming tiyakin na ang bilang ng mga character upang sukatin ay na-set up sa pagpapaandar.
#include #include int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 6); / * Ang function na ito ay ihambing ang parehong "string" ng 6 na character * /}
Hakbang 6. Gumamit ng mga pahayag
Kung… Iba pa upang gawin ang paghahambing. Pagkatapos mong magdagdag ng isang pagpapaandar sa iyong programa, maaari kang gumamit ng isang pahayag upang maipakita kung aling string ang may higit pang mga character. ibabalik ng strncmp () ang 0 kung ang mga string ay may parehong bilang ng mga character, isang positibong numero kung ang str1 ay mas mahaba at isang negatibong numero kung ang str2 ay mas mahaba.
#include #include int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 6); kung (ret> 0) {printf ("mas mahaba ang str1"); } iba pa kung (ret <0) {printf ("mas mahaba ang str2"); } iba pa {printf ("Ang parehong mga string ay pareho ang haba"); } bumalik (0); }