我正在尝试创建自己的memcmp
文件,但是每当我将它与原始memcmp
函数进行比较时,相等的字符串都会返回零,但如果字符串不相等,则返回值是不同的。
char *p = (char *)s1;
char *q = (char *)s2;
int charCompareStatus = 0;
if (s1 == s2) {
return charCompareStatus;
}
while (n > 0) {
if (*p != *q) {
charCompareStatus = (*p > *q) ? (*p - *q) : (*p - *q);
break;
}
n--;
p++;
q++;
}
return charCompareStatus;
memcmp
与实际功能相比的输出是
./a.out "ajinkya" "akinkya"
MEMCMP:-256
SST_MEMCMP:-1