编写程序实现字符串比较,不允许使用strcmp函数。
注意:字符串比较的规则是:将两个字符串自左至右逐个字符进行比较(按ASCII值大小进行比较),直到出现不同的字符或遇到"\0"为止,若出现不同的字符,则以第一个不同的字符的比较结果为准,如果全部字符都相等,则认为两字符串相等。
#include
#include
int my_strcmp(char const *p,char const *q)
{
assert((p!=NULL) && (q!=NULL));//断言;
while(*p == *q)
{
if(*q == '\0')
return 0;
p++;
q++;
}
if(*p>*q)
{
return 1;
}
else
{
return -1;
}
}
int main()
{
char *p="ab";
char *q = "aaa";
printf("%d\n",my_strcmp(p,q));
return 0;
}
程序运行结果如下: