把一个字符组插到另一个字符组的问题
想写一个把一个字符串插到另一个字符串指定位置的程序,但是写完之后果然没有成功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; }
求大神改进加指导,谢谢!!!