Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

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 parametrinä kaksi osoitinta. const sanalla korostetaan sitä, ettei funktio muuta niiden muistipaikkojen sisältöä, joihin osoittimet osoittavat. Siis tämäkään funktio ei muuta parametrejään, 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");


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys