写一个子函数实现strcpy功能,将字符串s1复制到s2
时间: 2024-02-05 14:11:43 浏览: 73
下面是一个实现strcpy功能的子函数,可以将字符串s1复制到s2中:
```c
void my_strcpy(char *s2, const char *s1)
{
while (*s1 != '\0') {
*s2 = *s1;
s1++;
s2++;
}
*s2 = '\0';
}
```
这个函数的思路比较简单,就是从源字符串s1的第一个字符开始,逐个复制到目标字符串s2中,直到遇到字符串结束符'\0'为止。需要注意的是,在这个过程中,源字符串s1是不能被修改的,因此需要用const关键字来修饰它。
相关问题
输入字符串s1,s2,将字符串s2复制到s1中(strcpy( ) 函数)
好的,这是一个关于字符串操作的问题。要使用 strcpy() 函数将字符串 s2 复制到字符串 s1 中,可以这样写代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char s1[100], s2[50];
printf("请输入字符串 s2:\n");
scanf("%s", s2);
strcpy(s1, s2);
printf("复制后的字符串 s1 为:%s\n", s1);
return 0;
}
```
在这段代码中,我们首先声明了两个字符数组 s1 和 s2。然后,使用 scanf() 函数读入字符串 s2。最后,使用 strcpy() 函数将字符串 s2 复制到 s1 中,并输出复制后的结果。需要注意的是,strcpy() 函数需要包含头文件 string.h。
编写自定义函数char *my_strcpy(char s1[],char s2[]); 将字符串s2复制到s1,返回值为s1
好的,下面是 `my_strcpy` 函数的代码实现:
```c
#include <stdio.h>
char *my_strcpy(char s1[], char s2[]) {
int i = 0;
while (s2[i] != '\0') {
s1[i] = s2[i];
i++;
}
s1[i] = '\0';
return s1;
}
int main() {
char s1[100], s2[100];
printf("请输入一个字符串:");
scanf("%s", s2);
my_strcpy(s1, s2);
printf("复制后的s1字符串为:%s\n", s1);
return 0;
}
```
在这个函数中,我们使用了 `while` 循环来遍历 `s2` 字符串,并将其中的每一个字符复制到 `s1` 字符串中。在复制过程中,我们还需要添加 `'\0'` 字符来标志字符串的结束。最后,我们返回了 `s1` 字符串的地址,以便在其他地方使用。
阅读全文