编写一个函数 void strcpy(char*s, char*d), 函数的功能是将*d所指向的字符串复制到*s所指向的字符数组中(不能使用 strcpy 函数)在主函数中输入一个字符串,调用的数复制到另一个字符申中且打印出来。
时间: 2024-12-19 07:14:48 浏览: 16
`strcpy()`函数是一个常见的字符串操作,在许多编程语言中已经内建。但是,如果题目要求不使用标准库提供的`strcpy()`函数来实现这个功能,我们可以手动遍历源字符串并逐个字符拷贝到目标数组。下面是一个C语言的例子:
```c
#include <stdio.h>
// 自定义的字符串复制函数
void my_strcpy(char *dest, const char *src) {
if (dest == NULL || src == NULL) {
printf("Error: Destination or source string cannot be NULL.\n");
return;
}
// 遍历源字符串,直到遇到'\0'
while (*src != '\0') {
*dest = *src; // 将源字符复制到目标
dest++; // 移动目标指针
src++; // 移动源指针
}
*dest = '\0'; // 结束目标字符串,添加空字符
}
int main() {
char src[50], dest[50];
printf("Enter a string: ");
fgets(src, sizeof(src), stdin); // 注意这里需要处理换行符
src[strcspn(src, "\n")] = '\0'; // 去除fgets读取的换行符
// 调用自定义的strcpy
my_strcpy(dest, src);
printf("Copied string: %s\n", dest);
return 0;
}
```
在这个示例中,`my_strcpy`函数接收两个字符串参数,分别代表目标字符串和源字符串。它逐个字符地复制源字符串内容,直到遇到源字符串的结束标志`\0`。在`main`函数中,用户输入字符串并通过`my_strcpy`进行复制,并打印出结果。
阅读全文