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);
}
结果如下:
明天继续,加油!!!