[求助]改正串的一个问题
我的水平很菜,所以写的程序也很菜,经常需要大家帮忙,我在这个论坛学到很多,之前学了c++,感觉我什么都没学到,感觉到学习编程的前途渺茫,但现在有了论坛的各位帮忙,有点感觉了。一段时间之后肯定会好起来的。这个程序是将b串插入到a串的第i个之后,我写的总是运行不成功。希望大家帮忙看看。还有就是老是找不对位置。
#include <iostream>
#include <string.h>
using namespace std;
char *insert(char *,int,char *);
const int N=20;
void main()
{
char a[N]="abcdef";
char b[]="xyz";
cout << "input i\n";
int i;
cin >> i;
insert(a,i,b);
cout << a <<endl;
}
char *insert(char *m,int i,char *n)
{
if(strlen(m)+strlen(n)>=N)
cout << "overflow!\n";
else
{
int j;
for(j=strlen(m);j>=i;j--)
m[j+strlen(n)]=m[j];
for(j=0;j<=strlen(n);j++)
m[j+i-1]=n[j];
}
return m;
}
输入3
输出abxyz