c语言:用指针编写函数,求指正
我编了一个程序,但总是不对,又不知道错在哪,望高手指导!(不需要新的程序,只要指出错误即可,谢谢!)/*用指针编写函数:insert(s1,s2,f),其功能是在字符串s...
我编了一个程序,但总是不对,又不知道错在哪,望高手指导!(不需要新的程序,只要指出错误即可,谢谢!)
/*用指针编写函数 : insert(s1,s2,f), 其功能是在字符串 s1 中的指定位置 f 处插入字符 串 s2。*/
#include<stdio.h>
void insert(char *s1,char *s2,int f)
{
int i=0;
char a[40]={'\0'},*ss=a;
for(;i<f;ss++,s1++)
*ss=*s1;
for(;*s2!='\0';ss++,s2++)
*ss=*s2;
for(;*s1!='\0';ss++,s1++)
*ss=*s1;
}
int main()
{
char s1[20],s2[20];
int f;
printf("Please input string 1:\n");
gets(s1);
printf("Please input string 2:\n");
gets(s2);
printf("Please input a number:\n");
scanf("%d",&f);
insert(s1,s2,f);
return 0;
} 展开
/*用指针编写函数 : insert(s1,s2,f), 其功能是在字符串 s1 中的指定位置 f 处插入字符 串 s2。*/
#include<stdio.h>
void insert(char *s1,char *s2,int f)
{
int i=0;
char a[40]={'\0'},*ss=a;
for(;i<f;ss++,s1++)
*ss=*s1;
for(;*s2!='\0';ss++,s2++)
*ss=*s2;
for(;*s1!='\0';ss++,s1++)
*ss=*s1;
}
int main()
{
char s1[20],s2[20];
int f;
printf("Please input string 1:\n");
gets(s1);
printf("Please input string 2:\n");
gets(s2);
printf("Please input a number:\n");
scanf("%d",&f);
insert(s1,s2,f);
return 0;
} 展开
展开全部
#include<stdio.h>
void insert(char *s1,char *s2,int f)
{
int i=0;
char a[40]={'\0'},*ss=a;
for(;i<f;ss++,s1++,i++)/野旦御桐/这里加i++
*ss=*s1;
for(;*s2!='\0';ss++,s2++)
*ss=*s2;
for(;*s1!='\0';ss++,s1++)
*ss=*s1;
puts(a);//这里可以颂拆扰加一个输出
}
int main()
{
char s1[20],s2[20];
int f;
printf("Please input string 1:\n");
gets(s1);
printf("Please input string 2:\n");
gets(s2);
printf("Please input a number:\n");
scanf("%d",&f);
insert(s1,s2,f);
return 0;
}
void insert(char *s1,char *s2,int f)
{
int i=0;
char a[40]={'\0'},*ss=a;
for(;i<f;ss++,s1++,i++)/野旦御桐/这里加i++
*ss=*s1;
for(;*s2!='\0';ss++,s2++)
*ss=*s2;
for(;*s1!='\0';ss++,s1++)
*ss=*s1;
puts(a);//这里可以颂拆扰加一个输出
}
int main()
{
char s1[20],s2[20];
int f;
printf("Please input string 1:\n");
gets(s1);
printf("Please input string 2:\n");
gets(s2);
printf("Please input a number:\n");
scanf("%d",&f);
insert(s1,s2,f);
return 0;
}
展开全部
int i=0;
char a[40]={'\0'亮闭},*ss=a;
for(;i<f;ss++,s1++) ----> i 等于0 ,敬亩裂f不等于0 构成死循环
*ss=*s1;
for(;i<耐州f;ss++,s1++) ------> for(;i<f;ss++,s1++,i++) .......
char a[40]={'\0'亮闭},*ss=a;
for(;i<f;ss++,s1++) ----> i 等于0 ,敬亩裂f不等于0 构成死循环
*ss=*s1;
for(;i<耐州f;ss++,s1++) ------> for(;i<f;ss++,s1++,i++) .......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void insert(char *s1,char *s2,int f)
{
int i=0;
char a[40],*ss=a;
for(;i<f;ss++,s1++)
{*ss=*s1;
i++;}
for(;*s2!='\0';ss++,s2++)
*ss=*s2;
for(;*s1!='颂拆扰\0';ss++,s1++)
*ss=*(s1+f);
puts(a);
}
int main()
{
char s1[20],s2[20];
int f;
printf("Please input string 1:\n");
gets(s1);
printf("Please input string 2:\n"野旦);
gets(s2);
printf("御桐Please input a number:\n");
scanf("%d",&f);
insert(s1,s2,f);
return 0;
}
void insert(char *s1,char *s2,int f)
{
int i=0;
char a[40],*ss=a;
for(;i<f;ss++,s1++)
{*ss=*s1;
i++;}
for(;*s2!='\0';ss++,s2++)
*ss=*s2;
for(;*s1!='颂拆扰\0';ss++,s1++)
*ss=*(s1+f);
puts(a);
}
int main()
{
char s1[20],s2[20];
int f;
printf("Please input string 1:\n");
gets(s1);
printf("Please input string 2:\n"野旦);
gets(s2);
printf("御桐Please input a number:\n");
scanf("%d",&f);
insert(s1,s2,f);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
insert(s1,s2,f);
函数里面都没有把s1当过蚂档左值用,怎么改变它的内念扒容?
你改变那个局部变量char a[40]的内容,有什么意义?闷高乱
函数里面都没有把s1当过蚂档左值用,怎么改变它的内念扒容?
你改变那个局部变量char a[40]的内容,有什么意义?闷高乱
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询