Se, että merkkijono ei ole C-kielen perustietotyyppi näkyy siinä, että merkkijonoille ei voi tehdä yhtäsuuruusvertailuja ==-operaattorilla eikä merkkijonoa voi sijoittaa toisen arvoksi =-operaattorilla.
Merkkijonojen vertailu on tehtävä string.h-tiedostossa määritellyllä kirjastofunktiolla strcmp().
Funktion prototyyppi on seuraava:
int strcmp (const char *eka, const char *toka);
Funktiolle välitetään parametreina kaksi merkkijonotaulukkoa.
const-määreet (constant = vakio) muuttujamäärittelyjen edessä ilmaisevat, ettei funktiolla ole lupa muuttaa parametreja. (Muuttujaparametrejahan voitaisiin periaatteessa muuttaa.)
Funktion paluuarvona on luku, joka
![]() | < 0 mikäli eka < toka |
![]() | = 0 mikäli merkkijonot ovat samoja |
![]() | > 0 mikäli eka > toka. |
![]() | |
![]() | Esimerkki |