#inlcude<stdio.h>
void f(char *s1,char *s2,int m) { int n;
n=0; while ( *s1 ) { s1++; n++; if ( n>=m ) break; }
n=0; while ( *s2 ) { s2++; n++; if ( n>=m ) break; }
while ( *s2 ) { *s1=*s2; s1++; s2++; }
*s1=0;
}
void main() { char s1[256],s2[256]; int m;
gets(s1); gets(s2); scanf("%d",&m); f(s1,s2,m-1); printf("%s\n",s1);
}
#include<stdio.h>
void replace(char *s1,char *s2,int m)
{for(s1+=m;*s1++=*s2++;);
}
int main()
{char s1[200],s2[200];
int m;
gets(s1);
gets(s2);
scanf("%d",&m);
replace(s1,s2,m);
puts(s1);
return 0;
}
就是字符a从第n个字符开始全换成字符b
怎么输入我不管,假如第一个字符串是char str1[],第二个是char str2[].
那么替换命令是:strcpy(str1+m,str2);就行。
{
如果替换不包括str2的结束符,那么就执行
int n = strlen(str2);
memcpy(str1+m,str2,n);
}
strcpy和memcpy函数都是C语言自带的替换函数,前一个是字符串操作(用结束符判断结尾),后一个是数组操作(无法判断结尾,所以要参数里写入字符个数)。百度一下,可以查到头文件