天天看點

【C語言】strcmp函數的實作

strcmp:

C/C++函數,比較兩個字元串 設這兩個字元串為str1,str2, 若str1==str2,則傳回零; 若str1>str2,則傳回正數; 若str1<str2,則傳回負數。   根據這些我們來實作這個函數:

<span style="font-size:18px;">#include<stdio.h>
#include<assert.h>
int my_strcmp(char const *str1,char const *str2)
{
	assert(str1);
	assert(str2);
	while(*str1==*str2)
	{
		if(*str1=='\0')
			return 0;
	
			str1++;
			str2++;
	
	}
	if(*str1>*str2)
		return 1;
	if(*str1<*str2)
		return -1;
}

int main()
{
	char *p="adcc";
	char *q="abac";
	printf("%d\n",my_strcmp(p,q));
	return 0;
}
</span>
           

  運作結果如圖所示:

【C語言】strcmp函數的實作

繼續閱讀