本题可以看做一个字符串拼接问题,需要一个载体数组
#include<stdio.h>
void insert_array(char s1[],char s2[],int n);
/** 思路 ***
1.得到主串s1和子串s2
2.找到插入位置.
3.进行插入
*/
void main()
{
char s1[40],s2[40],t[40];
int a;
printf("获得主串:");
gets(s1);
printf("\n");
printf("\n获得子串:");
gets(s2);
printf("\n");
printf("\n获取插入位置:");
scanf("%d",&a);
insert_array(s1,s2,a);
}
void insert_array(char s1[],char s2[],int n)
{
char t[40];
int i,j,k=0;
for(i=0;i<n-1;i++)
{
t[k++]=s1[i];
}
for(j=0;s2[j]!='\0';j++)
{
t[k++]=s2[j];
}
for(i=n-1;s1[i]!='\0';i++)
{
t[k++]=s1[i];
}
t[k]='\0';
printf("\n插入后:%s\n\n",t);
}
