●模拟库函数
int strcmp ( const char * str1, const char * str2 )
strcmp是实现比较两个字符串大小的函数,它是标准库中的函数,
现在,要人为的实现该函数的功能
int my_strcmp(const char *str1, const char *str2)
{
assert(str1);//首先断言确保安全性
assert(str2);
int ret=0;
while(!(ret=*(unsigned char*)str1-*(unsigned char*)str2)&&*str2)
//比较两个字符串每一个字符的大小,若相等则比较两者的下一个字符
{
str1++;
str2++;
}
if(ret>0)
{
return 1;
}
if(ret<0)
{
return -1;
}
return 0;
}
//根据返回值可以得到两个字符串的大小关系
int main()
{
char str1[]="asdfghj";
char str2[]="asdfghb";
printf("%d",my_strcmp(str1,str2));
return 0;
}
strcmp関数は次のように実装されます
おすすめ
転載: blog.csdn.net/cfk17829572643/article/details/109251514
おすすめ
ランキング