int mystrcmp(const char*_Str1, const char*_Str2)
{
if (NULL == _Str1 || NULL == _Str2)
{
return 0;
}
int i = 0;
while (_Str1[i] == _Str2[i] && _Str1[i] != '\0')
{
i++;
}
if (_Str1[i] == '\0'&&_Str2[i] == '\0')
{
return 0;
}
else
{
if ((_Str1[i] - _Str2[i])>0)
{
return 1;
}
else
{
return -1;
}
}
}
//指针法
int mystrcmpaddr(const char*_Str1, const char*_Str2)
{
if (NULL == _Str1 || NULL == _Str2)
{
return 0;
}
char*str1 = _Str1;
char*str2 = _Str2;
while (*(str1) == *(str2) && *str1 != '\0')
{
str1++, str2++;
}
if (*(str1) == '\0'&&*(str2) == '\0')
{
return 0;
}
else
{
if (*(str1)-*(str2)>0)
{
return 1;
}
else
{
return -1;
}
}
}
//strcmp
void main()
{
char str1[100] = "cello rocket";
char str2[100] = "bello rocket";
printf("%d\n", strcmp(str1, str2));//相等输出0 str1<str2输出-1 str1>str2输出1
printf("%d\n", mystrcmp(str1, str2));
printf("%d\n", mystrcmpaddr(str1, str2));
//if (!strcmp(str1,str2))
//if (!mystrcmp(str1, str2))
if (!mystrcmpaddr(str1, str2))
{
printf("相等\n");
}
else
{
printf("不相等\n");
}
system("pause");
}
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接