编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用strcpy函数
时间: 2023-09-03 19:14:59 浏览: 86
以下是一个示例程序,使用循环逐个复制字符:
```c
#include <stdio.h>
void copy_string(char s1[], char s2[]) {
int i = 0;
while (s2[i] != '\0') {
s1[i] = s2[i];
i++;
}
s1[i] = '\0';
}
int main() {
char s1[100], s2[100];
printf("Enter string s2: ");
scanf("%s", s2);
copy_string(s1, s2);
printf("s1: %s\n", s1);
return 0;
}
```
首先定义了一个名为`copy_string`的函数,该函数接受两个字符数组`s1`和`s2`作为参数,使用一个循环逐个复制`s2`中的字符到`s1`中,并在最后添加一个空字符表示字符串的结束。
在`main`函数中,首先提示用户输入字符串`s2`,然后调用`copy_string`函数将`s2`中的字符复制到`s1`中,最后输出`s1`的内容。
相关问题
c语言不用strcpy,将字符数组 s2 中的全部字符复制到字符数组 s1 中
可以使用循环来逐个复制字符数组s2中的字符到s1中,直到遇到'\0'为止。以下是一个示例代码:
```c
#include <stdio.h>
void copyString(char s1[], char s2[]) {
int i = 0;
while (s2[i] != '\0') {
s1[i] = s2[i];
i++;
}
s1[i] = '\0'; // 添加字符串结束符
}
int main() {
char s1[100];
char s2[100];
printf("请输入字符串s2: ");
scanf("%s", s2);
copyString(s1, s2);
printf("复制后的字符串s1为: %s\n", s1);
return 0;
}
```
这个示例中,我们定义了一个名为copyString的函数,它接受两个字符数组参数s1和s2。在函数中,我们使用循环逐个复制s2中的字符到s1中,并在最后添加字符串结束符'\0'。然后,在主函数中,我们输入待复制的字符串s2,并调用copyString函数进行复制。最后,输出复制后的字符串s1。
请注意,在使用这个示例代码时,确保字符数组s1和s2足够大,以避免溢出的问题。
自己写一个函数将字符数组S2中的全部字符复制到字符数组S1中(不使用strcpy)
好的,以下是将字符数组S2中的全部字符复制到字符数组S1中的函数实现:
```c
void copy_string(char s1[], char s2[]) {
int i = 0;
while (s2[i] != '\0') {
s1[i] = s2[i];
i++;
}
s1[i] = '\0';
}
```
这个函数的实现比较简单,就是依次遍历S2中的每个字符,然后将它复制到S1中对应的位置上。这里通过while循环实现了遍历,当遇到字符串结束符'\0'时退出循环,最后在S1的末尾添加一个结束符'\0',以保证S1是一个完整的字符串。
您可以将原始的字符数组S1和S2作为参数传入函数,然后调用copy_string函数即可实现S2中的字符复制到S1中。