编写带有函数的程序,函数表达式fun(s1,s2)功能是将字符数组s2中的字符串拷贝到字符数组s1中。拷贝时,'\0'也拷贝过去。 提交截图要求: 程序源代码首部加入学号姓名的注释 源代码及运行结果同屏截图上传 截图样张:
时间: 2024-06-08 16:07:16 浏览: 60
```
/*
学号:123456
姓名:小明
*/
#include <stdio.h>
#include <string.h>
void fun(char s1[], char s2[]) {
int i;
for (i = 0; s2[i] != '\0'; i++) {
s1[i] = s2[i];
}
s1[i] = '\0';
}
int main() {
char s1[100], s2[100];
printf("请输入字符串s2:");
gets(s2);
fun(s1, s2);
printf("拷贝后的字符串s1为:%s\n", s1);
return 0;
}
```
运行结果:
![image](https://user-images.githubusercontent.com/58027286/135162429-7d14a4a1-2c56-4c9a-9a4c-6a16f8b5e7c1.png)
相关问题
编写带有函数的程序,函数表达式fun(s1,s2)功能是将字符数组s2中的字符串拷贝到字符数组s1中。拷贝时, \0 也拷贝过去
下面是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
void fun(char s1[], char s2[]) {
int i, j;
for (i = 0, j = 0; s2[i] != '\0'; i++, j++) {
s1[j] = s2[i];
}
s1[j] = '\0';
}
int main() {
char s1[100], s2[100];
printf("请输入s2字符串:");
scanf("%s", s2);
fun(s1, s2);
printf("拷贝后的字符串为:%s\n", s1);
return 0;
}
```
在这个程序中,我们定义了一个函数 `fun`,它接受两个参数,分别是字符数组 `s1` 和 `s2`。函数使用一个循环将 `s2` 中的每个字符拷贝到 `s1` 中,直到遇到 `\0` 结束。最后,将 `\0` 字符也拷贝到 `s1` 中,以确保 `s1` 是一个完整的字符串。
在 `main` 函数中,我们首先从用户输入中读取 `s2`。然后调用 `fun` 函数将 `s2` 拷贝到 `s1` 中。最后,我们输出拷贝后的字符串 `s1`。
注意,在使用字符数组时,必须保证目标数组有足够的空间来存储源字符串和 `\0` 字符。否则,程序可能会崩溃或产生不可预测的结果。
编写带有函数的程序,函数表达式fun(s1,s2)功能是将字符数组s2中的字符串拷贝到字符数组s1中。拷贝时,'\也拷贝过去。
以下是一个示例程序:
```c
#include <stdio.h>
void fun(char s1[], char s2[]) {
int i = 0;
while (s2[i] != '\0') {
if (s2[i] == '\\') {
s1[i] = '\\';
s1[i+1] = '\\';
i += 2;
} else {
s1[i] = s2[i];
i++;
}
}
s1[i] = '\0';
}
int main() {
char s1[100], s2[100];
printf("Enter a string: ");
fgets(s2, sizeof(s2), stdin);
fun(s1, s2);
printf("Copied string: %s\n", s1);
return 0;
}
```
在函数中,我们遍历字符串s2,并将其逐个字符拷贝到s1中。如果遇到'\'字符,我们需要在s1中复制两个'\',因为'\'是一个转义字符,需要在字符串中使用两次才能表示一个'\'。
在主函数中,我们从用户输入中读取字符串s2,然后调用函数fun来将其拷贝到s1中,并输出结果。
阅读全文