用函数实现strcpy和strcat这两个函数的功能
时间: 2024-02-22 11:58:23 浏览: 70
strstr和strcpy函数实现
好的,下面是用C语言编写的函数实现strcpy和strcat的功能:
```
#include <stdio.h>
// 实现strcpy的函数
char* my_strcpy(char* dest, const char* src) {
char* p = dest; // 保存目标字符串的首地址
while ((*dest++ = *src++) != '\0'); // 逐个字符复制,直到遇到'\0'
return p; // 返回目标字符串的首地址
}
// 实现strcat的函数
char* my_strcat(char* dest, const char* src) {
char* p = dest; // 保存目标字符串的首地址
while (*dest != '\0') dest++; // 指向目标字符串的结尾
while ((*dest++ = *src++) != '\0'); // 追加源字符串,直到遇到'\0'
return p; // 返回目标字符串的首地址
}
int main() {
char s1[20] = "Hello";
char s2[] = "World";
printf("s1 = %s, s2 = %s\n", s1, s2);
// 调用my_strcpy函数
my_strcpy(s1, s2);
printf("After my_strcpy: s1 = %s, s2 = %s\n", s1, s2);
// 调用my_strcat函数
my_strcat(s1, s2);
printf("After my_strcat: s1 = %s, s2 = %s\n", s1, s2);
return 0;
}
```
输出结果为:
```
s1 = Hello, s2 = World
After my_strcpy: s1 = World, s2 = World
After my_strcat: s1 = WorldWorld, s2 = World
```
可以看到,my_strcpy函数将源字符串复制到目标字符串中,my_strcat函数将源字符串追加到目标字符串的结尾。
阅读全文