私はC言語が初めてです。独自の実装を使用して異なる文字列を比較すると、出力として常にゼロになる理由を誰か教えてくださいstrcmp
。
2 つの文字列を比較する関数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;
}