把一个字符组插到另一个字符组的问题
想写一个把一个字符串插到另一个字符串指定位置的程序,但是写完之后果然没有成功T^T,压根没有输出东西,求原因.........以下是程序:
程序代码:#include<stdio.h>
#include<string.h>
int main(void){
char s[1000]; //s是需要插入的字符组
char t[1000]; //t将被插入s中
int k; //k是指定位置
gets(s);
gets(t);
scanf("%d",&k);
int insert_string(char s[],char t[],int k);
return 0;
}
int insert_string(char s[],char t[],int k){
int i = 0;
int j;
char temp[1000];
int len;
len = strlen(s);
if(k > len) { //如果k大于s的长度,t就要插到s最后面
strcat(s,t);
printf("%s\n",t);
}
else if(k < 0){ //如果k<0,t就要插到s最前面
strcat(t,s);
printf("%s\n",s);
}
else{
for(j = 0; j < k - 1; j++){ //将s的i位前的字符复制到temp中
temp[j] = s[j];
}
j--;
while(t[i] != '\0'){ //将t复制到temp尾部
j++;
temp[j] = t[i];
i++;
}
i = k - 1;
while(s[i] != '\0'){ //将s的i位后字符复制到temp尾部
j++;
temp[j] = s[i];
i++;
}
j++;
temp[j] = '\0';
printf("%s\n",temp);
}
return 0;
} 求大神改进加指导,谢谢!!!




