C语言,重写strcpy和strcmp
发布网友
发布时间:2022-05-15 06:41
我来回答
共1个回答
热心网友
时间:2023-10-12 04:08
strcpy:
char* strcpy (char* dest, const char* src)
{
char* p = dest; // 复制dest 的副本使用,dest本身要用作返回值
while ((*p++ = *src++) != '\0'); // 逐个复制src串的字符到p串,直到0结束
return dest; // 返回 dest
}
strcmp:
int strcmp (const char* str1, const char* str2)
{
int result;
char ch;
do {
ch = *str1++; // 逐个取 str1 串的字符
result = ch - *str2++; // 逐个与 str1 串的字符比较,结果在result 中
} while (ch != '\0' && result == 0); // 串未结束且结果相等则继续
return result; // 返回结果
}