要求:如果字符串1大于字符串2,则返回1,如果字符串1小于字符串2,则返回-1,如果字符串1等于字符串2,则返回0.
#include<iostream>
using namespace std;int mystrcmp(const char *str1, const char *str2)
{
while (*str1 != '\0'&&*str2 != '\0'&&*str1 == *str2)
{
str1++;
str2++;
}
if (*str1 != '\0'&&*str2 == '\0')
return 1;
else if (*str1 == '\0'&&*str2 != '\0')
return -1;
else if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
return 0;
}
int main()
{
const char *str1 = "hello world a";
const char *str2 = "hello world b";
int ret = mystrcmp(str1, str2);
cout << ret;
getchar();
return 0;
}
注意:若输入的字符串有空字符串,需要额外考虑。