用函数实现strcpy和strcat这两个函数的功能
时间: 2024-02-20 14:58:42 浏览: 72
好的,以下是用函数实现strcpy和strcat这两个函数的功能的代码示例:
```c
/* 实现strcpy函数的功能 */
char* my_strcpy(char *dest, const char *src) {
char *p = dest;
while (*src != '\0') {
*p++ = *src++;
}
*p = '\0';
return dest;
}
/* 实现strcat函数的功能 */
char* my_strcat(char *dest, const char *src) {
char *p = dest;
while (*p != '\0') {
p++;
}
while (*src != '\0') {
*p++ = *src++;
}
*p = '\0';
return dest;
}
```
其中,my_strcpy函数的参数dest表示目标字符串,src表示源字符串;my_strcat函数的参数dest表示目标字符串,src表示要添加到目标字符串末尾的字符串。函数内部使用指针遍历字符串,实现复制和添加的操作。
相关问题
用c语言用函数实现strcpy和strcat这两个函数的功能
好的,下面是用C语言编写的函数实现strcpy和strcat的功能:
```
#include <stdio.h>
#include <string.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函数将源字符串追加到目标字符串的结尾。
strcat和strcpy函数实现
strcpy和strcat都是C语言中的字符串操作函数,它们的实现方式如下:
1. strcpy函数:将源字符串复制到目标字符串中,包括'\0'结束符。其函数原型为:
```c
char *strcpy(char *dest, const char *src);
```
其中,dest为目标字符串,src为源字符串。该函数返回目标字符串的指针。
实现方式:从源字符串的首地址开始,逐个字符复制到目标字符串中,直到遇到'\0'结束符。
2. strcat函数:将源字符串追加到目标字符串的末尾,包括'\0'结束符。其函数原型为:
```c
char *strcat(char *dest, const char *src);
```
其中,dest为目标字符串,src为源字符串。该函数返回目标字符串的指针。
实现方式:先找到目标字符串的'\0'结束符,然后从源字符串的首地址开始,逐个字符追加到目标字符串的'\0'位置之后,直到遇到源字符串的'\0'结束符。
阅读全文