14.2.2 strcmp
Esimerkki moniparametrisesta tavallisesta funktiosta olisi vaikkapa
strcmp, joka on esitelty seuraavasti:
Compares one string to another
int strcmp (const char *s1, const char *s2);
Prototype in string.h
Returns a value that is
< 0 if s1 is less than s2
== 0 if s1 is the same as s2
> 0 if s1 is greater than s2
Performs a signed comparison.
Funktio siis vertaa kahta merkkijonoa toisiinsa. Funktion esittelyn mukaan
funktiolle viedään parametrina kaksi osoitinta. const
sanalla korostetaan sitä, ettei funktio muuta niiden muistipaikkojen
sisältöä, joihin osoittimet osoittavat. Siis
tämäkään funktio ei muuta parametrejaan, joten sen ainoa
järkevä käyttö on sijoittaa tulos johonkin muuttujaan tai
käyttää funktiota muuten osana lauseketta:
char j1[20]="Kissa", j2[20]="Koira";
int samat;
...
samat = strcmp(j1,j2);
if ( samat == 0 ) printf("Jonot ovat samat!\n");
...tai..
if ( strcmp(j1,j2) < 0 ) printf("Jono 1 on ensin!\n");