问答题 函数void insert(char*s,char*t,int pos)将字符串t插入字符串s中,插入位置为pos。请用C语言实现该函数。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数。)【北京航空航天大学2001六(10分)】
【正确答案】正确答案:首先应查找字符串s的pos位置,将第pos个字符到字符串s尾的子串向后移动字符串t的长度,然后将字符串t复制到字符串s的第pos位置后。对插入位置pos要验证其合法性,题目假设给字符串S的空间足够大,故对插入不必判溢出。 while(*p!=。"\0"&&i=pos;j—-)(*(p+x)=p;p—-;} //串s的pos后的子串右移 q一一; //指针q回退到串t的最后一个字符 for(j=1 ; j<=x;j++)*p一一=q一一; //将t串插入s的pos位置上
【答案解析】