strcmp爲字符串比較函數,其函數原型爲int strcmp( const char *string1, const char *string2 );
其功能是用來比較兩個字符串,設這兩個字符串爲str1,str2,若str1=str2,則返回零;若str1< str2,則返回負數(一般爲負1);若str1>str2,則返回正數(一般爲正1)。
思路:把兩個字符串的字符(ASCII碼)一個一個進行比較,當兩個字符串不一樣時,直接減,當兩個字符串相等時,直接輸出0。
具體實現如下:
#include<stdio.h>
#include<assert.h>
int my_strcmp(const char *str1,const char *str2)
{
assert(*str1 != NULL);
assert(*str2 != NULL);
while(*str1 == *str2)
{
if(*str1 == '\0')
{
return 0;
}
str1++;
str2++;
}
if(*str1 > *str2)
return 1;
else
return -1;
}
int main()
{
char *str1 = "abcd";
char *str2 = "abcdf";
int ret = my_strcmp(str1,str2);
printf("%d\n",ret);
}
結果如下:
明天繼續,加油!!!