#include <stdio.h>
#include <assert.h>
char* my_strcat(char*dest, const char*src)
{
char* ret = dest;
assert(dest&&src);
while (*dest != '\0')//先找到arr1字符串的\0的位置
{
dest++;
}
while (*dest++ = *src++)//再把arr2的字符串复制到arr1后面
{
;
}
return ret;
}
int main()
{
char arr1[30] ="Hello";
char arr2[] = "World";
my_strcat(arr1, arr2);//追加arr2的字符串到arr1上面
printf("%s\n", arr1);
return 0;
}
strcmp函数的实现方式
#include <stdio.h>
#include <assert.h>
int my_strcmp(const char* str1, const char* str2)
{
assert(str1&&str2);
while (*str1 == *str2)
{
if (*str1 == '\0')
{
return 0;
}
str1++;
str2++;
}
if (*str1 > *str2)
return 1;
else
return -1;
}
int main()
{
char *p1 = "abcdef";
char *p2 = "abcqwe";
int ret = my_strcmp(p1, p2);
printf("ret=%d\n", ret);
return 0;
}