我是 C 语言的新手。拜托,有人能告诉我为什么在使用我自己的实现比较不同的字符串时我总是得到零作为输出strcmp
吗?
我编写了xstrcmp
比较两个字符串的函数:如果它们相等,则返回 0;否则,它返回第一个不匹配字符对的 ASCII 值之间的数值差。
#include<stdio.h>
int xstrcmp(char*,char*);
int main()
{
int i;
char string1[]="jerry";
char string2[]="ferry";
i=xstrcmp(string1,string2);
printf("difference=%d\n",i);
return 0;
}
int xstrcmp(char*p,char*q)
{
int m;
while(*p!=*q)
{
if((*p=='\0')&&(*q=='\0'))
break;
p++;
q++;
}
m=(*p)-(*q);
return m;
}