Vertaa kahta merkkijonoa ohjelmointikielellä C.

Kirjoittaja: Judy Howell
Luomispäivä: 27 Heinäkuu 2021
Päivityspäivä: 10 Saattaa 2024
Anonim
Vertaa kahta merkkijonoa ohjelmointikielellä C. - Neuvoja
Vertaa kahta merkkijonoa ohjelmointikielellä C. - Neuvoja

Sisältö

Merkkijonojen pituuden vertailu on yleisesti käytetty toiminto C-ohjelmointikielessä, koska sen avulla voit selvittää, mikä merkkijono sisältää enemmän merkkejä. Tämä on erittäin hyödyllistä tietojen lajittelussa. Merkkijonojen vertailu vaatii erityistoiminnon; joten älä käytä: != tai ==.

Astua

  1. C-merkkijonoja voidaan verrata kahdella toiminnolla. Molemmat sisältyvät merkkijono.h>koodikirjasto.
    • strcmp () - Tämä toiminto vertaa kahta merkkijonoa ja palauttaa merkkien lukumäärän eron.
    • strncmp () - Tämä koskee myös strcmp (), paitsi että tämä on ensimmäinen n vertaa merkkejä. Sitä pidetään turvallisempana, koska se auttaa estämään ylivuotoja.
  2. Suorita ohjelma tarvittavien kirjastojen kanssa. Sinulla on molemmat kirjastot stdio.h> ja merkkijono.h> tarvitaan yhdessä muiden kirjastojen kanssa, joita saatat tarvita ohjelmasi kannalta.

    #include stdio.h> [[Kuva: Vertaa kahta merkkijonoa C-ohjelmoinnin vaiheen 1 versiossa 4.webp | keskellä]] #include string.h>

  3. Aloita yksi.inttoiminto. Tämä on helpoin tapa oppia tämä funktio, koska se palauttaa kokonaisluvun, joka vertaa kahden merkkijonon pituutta.

    [[Kuva: Vertaa kahta merkkijonoa C-ohjelmoinnin vaiheessa 2, versio 4.webp | keskellä]] #include stdio.h> [[Kuva: Vertaa kahta merkkijonoa C-ohjelmoinnin vaiheessa 3, versio 3.webp | keskellä]] # sisällytä merkkijono. h> int main () {}

  4. Päätä, mitä kahta merkkijonoa haluat verrata. Tässä esimerkissä verrataan kahta dataa hiiltyä jouset. Palautusarvo on määritettävä myös kokonaislukuna.

    [[Kuva: Vertaa kahta merkkijonoa C-ohjelmoinnin vaiheessa 4, versio 4.webp | keskellä]] #include stdio.h> [[Kuva: Vertaa kahta merkkijonoa C-ohjelmoinnin vaiheessa 5, versio 4.webp | keskellä]] # sisällytä merkkijono. h> int main () {char * str1 = "omena"; char * str2 = "oranssi"; int ret;}

  5. Lisää vertailutoiminto. Nyt kun olet määrittänyt kaksi merkkijonoa, voit lisätä vertailutoiminnon. Me menemme strncmp () joten meidän on varmistettava, että mitattavien merkkien määrä on asetettu funktion sisällä.

    [[Kuva: Vertaa kahta merkkijonoa C-ohjelmoinnin vaiheessa 6, versio 4.webp | keskellä]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "oranssi"; int ret; ret = strncmp (str1, str2, 11); / * Vertaa kahta merkkijonoa korkeintaan 11 merkkiin * /}

  6. Käyttää.Tai muutensuorittaa vertailu. Nyt kun olemme luoneet toiminnon, käytä Tai muuten määrittääksesi mikä merkkijono on pidempi. strncmp () antaa 0 Tämän seurauksena, jos merkkijonot ovat samanpituisia, positiivinen luku, jos str1 on pidempi, ja negatiivinen luku, jos str2 on pidempi.

    #include stdio.h> #include string.h> int main () {char * str1 = "omena"; char * str2 = "oranssi"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 on pidempi"); } else if (ret 0) {printf ("str2 on pidempi"); } else {printf ("Kaksi merkkijonoa ovat samat"); } paluu (0); }

Varoitukset

  • Muista, että palautusarvo on 0, jos merkkijonot ovat samat. Tämä voi olla hämmentävää, koska 0 on myös FALSE-arvo.