编辑代码

#include <stdio.h>
void  insert(char *s,char *t,int pos)
//将字符串t插入字符串s的第pos个位置。
{
 int i=1,x=0;  char *p=s,*q=t;  //p,q分别为字符串s和t的工作指针
 if(pos<1) {cout<<“pos参数位置非法”<<endl;exit(0);}
while(*p!=’\0’&&i<pos) 
    {p++;i++;} //查pos位置
 //若pos小于串s长度,则查到pos位置时,i=pos。
 if(*p == '/0') 
    { cout<<pos<<"位置大于字符串s的长度";exit(0);}
 else      //查找字符串的尾
 while(*p!= '/0')
    {p++; i++;}  //查到尾时,i为字符‘\0’的下标,p也指向‘\0’。
 while(*q!= '\0')
  {q++; x++; }   //查找字符串t的长度x,循环结束时q指向'\0'。
 for(j=i;j>=pos ;j--)
   {*(p+x)=*p; p--;}//串s的pos后的子串右移,空出串t的位置。
 q--;  //指针q回退到串t的最后一个字符
 for(j=1;j<=x;j++) 
  *p--=*q--;  //将t串插入到s的pos位置上
int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
	printf("Hello JSRUN!   \n\n         - from C .");
	return 0;
}