C言語面接問題-文字列挿入
2つの文字列s,tはtをsに挿入し,sには十分な空間がある.
間違いがあれば指摘してください.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void insert(char *s,char *t, int i)
{
char *q = t;
char *p = s;
if (q == NULL) return ;
while(*p!='\0') {
if ( 0 >= --i ) {
printf("memove
");
memmove(p+strlen(t),p,strlen(p));
break;
}
p++;
}
while(*q!=0) {
*p=*q;
p++;q++;
}
}
int main(void) {
char a[100]="Hewwwllo";
char b[10]="abc";
insert(a,b,5);
printf("%s
",a);
}
間違いがあれば指摘してください.