编写一个函数将s2中的字符串拷贝到数组s1中去。
时间: 2024-05-07 14:18:32 浏览: 118
以下是将s2中的字符串拷贝到数组s1中的函数实现:
```c
#include <stdio.h>
#include <string.h>
void copy_string(char *s1, char *s2) {
while (*s2 != '\0') {
*s1 = *s2;
s1++;
s2++;
}
*s1 = '\0';
}
int main() {
char s1[100], s2[100];
printf("Enter a string: ");
scanf("%s", s2);
copy_string(s1, s2);
printf("The copied string is: %s\n", s1);
return 0;
}
```
在这个例子中,我们定义了一个名为`copy_string`的函数,它接受两个`char`类型的指针参数`s1`和`s2`,分别表示目标字符串和源字符串。在函数中,我们使用一个while循环将`s2`中的字符逐个复制到`s1`中,直到遇到字符串结束符`\0`为止。最后,我们在`s1`的结尾添加一个`\0`,以确保它是一个有效的字符串。
在主函数中,我们首先定义了两个`char`类型的数组`s1`和`s2`,然后从用户处输入`s2`的字符串。接着,我们调用`copy_string`函数将`s2`中的字符串拷贝到`s1`中,最后打印出复制后的字符串。
相关问题
编写一个函数将s2中的字符串拷贝到数组s1中去。不用strcpy函数
可以使用以下代码实现:
```C
void my_strcpy(char* s1, const char* s2) {
int i = 0;
while (s2[i] != '\0') {
s1[i] = s2[i];
i++;
}
s1[i] = '\0';
}
```
这个函数中,我们使用一个循环来遍历s2中的每个字符,将其逐一拷贝到s1中。当我们遍历到字符串的结尾时,我们在s1的末尾添加一个空字符('\0'),以表示字符串的结束。注意,s1必须具有足够的空间来保存s2中的字符串。
编写程序将s2中的字符串拷贝的数组s1中
可以使用strcpy函数实现。strcpy函数的原型为:char *strcpy(char *s1, const char *s2)。使用时,将s2作为第二个参数传入,s1作为第一个参数传入。函数返回s1的地址,也就是拷贝后的字符串起始地址。示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[20];
char s2[] = "Hello, World!";
// 将s2中的字符串拷贝到s1中
strcpy(s1, s2);
printf("%s", s1); // 输出"Hello, World!"
return 0;
}
```
希望回答得到您的满意。另外,您有什么其他问题需要我回答吗?
阅读全文