开头变为void strcopy(char s1[], char s2[], int m, int n); int main() { char s1[100],s2[100]; int m,n; gets(s1); scanf("%d%d",&m,&n); strcopy(s1,s2,m,n); }
时间: 2023-07-30 07:12:43 浏览: 118
好的,那么现在这段代码就是一个复制字符串的程序,可以实现将字符串s1从第m个字符开始复制到第n个字符,并将结果存储到字符串s2中。
具体实现可以使用如下的代码:
```c
#include <stdio.h>
#include <string.h>
void strcopy(char s1[], char s2[], int m, int n);
int main() {
char s1[100], s2[100];
int m, n;
printf("请输入一个字符串:");
fgets(s1, 100, stdin);
printf("请输入要复制的起始位置和结束位置:");
scanf("%d%d", &m, &n);
strcopy(s1, s2, m, n);
printf("复制后的字符串为:%s\n", s2);
return 0;
}
void strcopy(char s1[], char s2[], int m, int n) {
int i, j;
for (i = m-1, j = 0; i < n && s1[i] != '\0'; i++, j++) {
s2[j] = s1[i];
}
s2[j] = '\0';
}
```
在这段代码中,我们使用了fgets函数来读取用户输入的字符串,并使用scanf函数来读取起始位置m和结束位置n。
然后,我们调用了strcopy函数,将字符串s1从第m个字符开始复制到第n个字符,并将结果存储到字符串s2中。
最后,我们输出复制后的字符串s2。
阅读全文