Merkkijonojen vertailu on yleisesti käytetty toiminto C -ohjelmoinnissa, koska se voi kertoa, missä merkkijonossa on enemmän merkkejä. Tämä toiminto on erittäin hyödyllinen tietojen lajittelussa. Jousien vertailu vaatii erityistoiminnon; älä käytä! = tai ==.
Vaihe
Vaihe 1. C -kielisiä merkkijonoja voidaan verrata kahdenlaisia toimintoja
Molemmat toiminnot sisältyvät kirjastoon.
- strcmp (): Tämä toiminto vertaa kahta merkkijonoa ja palauttaa tulosten vertaamalla merkkien lukumäärää niiden välillä.
- strncmp (): Tämä toiminto on sama kuin strcmp (), paitsi että se vertaa merkkijonon ensimmäistä n} merkkiä. Tätä toimintoa pidetään turvallisempana, koska se estää ohjelman pysähtymisen ylikuormituksen vuoksi.
Vaihe 2. Suorita ohjelma tarvitsemiesi kirjastojen kanssa
Suosittelemme, että käytät ja yhdessä muiden kirjastojen kanssa, joita tarvitset tiettyyn ohjelmaan.
#Sisällytä #Sisällytä
Vaihe 3. Suorita toiminto
int. Tämä on helpoin tapa oppia tämä toiminto, koska se palauttaa kahden merkkijonon vertailun kokonaislukuarvon.
#include #include int main () {}
Vaihe 4. Määritä kaksi merkkijonoa, joita haluat verrata
Vertaamme esimerkiksi kahta aiemmin määritettyä char -tyyppistä merkkijonoa. Voit myös määrittää tämän funktion palauttaman arvon tietotyypiksi kokonaisluku.
#include #include int main () {char *str1 = "omena"; char *str2 = "oranssi"; int ret; }
Vaihe 5. Lisää vertailutoiminto
Kun olet määrittänyt nämä kaksi merkkijonoa, voit lisätä vertailutoiminnon. Käytämme strncmp (): a, joten meidän on varmistettava, että mitattavien merkkien määrä on määritetty toiminnossa.
#include #include int main () {char *str1 = "omena"; char *str2 = "oranssi"; int ret; ret = strncmp (str1, str2, 6); / *Tämä toiminto vertaa 6 merkin merkkijonoa */}
Vaihe 6. Käytä lausuntoja
Jos… Muussa tapauksessa vertailu suoritetaan. Kun olet lisännyt funktion ohjelmaan, voit näyttää lausekkeen, missä merkkijonossa on enemmän merkkejä. strncmp () palauttaa 0, jos merkkijonoissa on sama määrä merkkejä, positiivinen luku, jos str1 on pidempi ja negatiivinen luku, jos str2 on pidempi.
#include #include int main () {char *str1 = "omena"; char *str2 = "oranssi"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 on pidempi"); } else if (ret <0) {printf ("str2 on pidempi"); } else {printf ("Molemmat merkkijonot ovat samanpituisia"); } paluu (0); }