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在用之前先定义.能帮忙在看下吗? 展开
#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在用之前先定义.能帮忙在看下吗? 展开
1个回答
展开全部
错误地方太多了,修改后如下:
#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);
}
#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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询