gets函数被跳过,不起作用
试过如果换成scanf就可以,但是scanf(%s)不能输空格嘛,所以还是想用gets
#include <stdio.h>
#include <string.h>
void f(char *str1,char *str2,int n,int m);
int main()
{
int n,m,i;
printf("请输入第一个字符串字符数n\n");
scanf("%d",&n);
char a[n],b[n];
printf("请输入第一个字符串\n");
gets(a);
puts(a);
for (i=0;*(a+i)!='\0';i++);
if (i!=n) printf("输入错误\n");
else {
printf("请输入从第几个字符开始复制\n"); scanf("%d",&m);
printf("请输入第二个字符串(应不超过%d个字符)\n",n-m+1);gets(b);
for (i=0;*(b+i)!='\0';i++);
if (i>n-m+1) {
printf("输入错误\n") ;
} else{
f(a,b,n,m);
}
puts(a);
}
return 0;
}
void f(char *str1,char *str2,int n,int m)
{
int j=m-1,i=0;
str1=str1+j;
for (;*str2!='\0';) {
*str1++=*str2++;
}
while (*str1!='\0') {
*str1='\0';
str1++;
}
}
```