C语言一个小程序问题

这是一个关于插入字符串的程序,帮我看看那里弄错了,谢谢了#include<stdio.h>#include<string.h>main(){char*str1,*str2... 这是一个关于插入字符串的程序,帮我看看那里弄错了,谢谢了
#include<stdio.h>
#include<string.h>
main()
{char *str1,*str2;
int i;
printf("input two char:\n");
scanf("%s%s",str1,str2); \输入两个字符串
printf("input a int:\n"); \输入一个整数
scanf("%d",&i);
printf("%s",insert(str1,str2,i));
}
char *insert(s1,s2,i)
char *s1,*s2;
int i;
{char *p,*q;
p=s1+strlen(s1);
q=p+strlen(s2);
*q='\0';
for(p--,q--;p>=(s1+i-1);)*(q--)=*(p--);
for(p=s1+i-1;*s2;)*(p++)=*(s2++);
return(s1);
}
用TC运行,还是错啊!
说str1,str2在用之前先定义.能帮忙在看下吗?
展开
 我来答
fly_fire
2008-04-13 · TA获得超过617个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:309万
展开全部
错误地方太多了,修改后如下:
#include<stdio.h>
#include<string.h>
char *insert(char,char,int);

main()
{char *str1,*str2;
int i;
printf("input two char:\n");
scanf("%s%s",str1,str2); //输入两个字符串
printf("input a int:\n"); //输入一个整数
scanf("%d",&i);
printf("%s",insert(str1,str2,i));
}

char *insert(char *s1,char *s2,int i)
{char *p,*q;
p=s1+strlen(s1);
q=p+strlen(s2);
*q='\0';
for(p--,q--;p>=(s1+i-1);)*(q--)=*(p--);
for(p=s1+i-1;*s2;)*(p++)=*(s2++);
return(s1);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式