c语言程序编制一个将一个字符串插入到另一个字符串的指定位置的函数。

#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){chara[100],b[100],*x,*... #include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char a[100],b[100],*x,*y;
int i,m,n,k,l;
printf("输入字符串1:");
scanf("%s",a);
getchar;
printf("输入字符串2:");
scanf("%s",b);
getchar;
x=a[0];
y=b[0];
printf("将字符串1插入到字符串2的第几个字符后:");
scanf("%d",&i);
m=strlen(a);
n=strlen(b);
for(k=i+1;k<=(n-i);k++)
*(y+m+i+1)=*(y+i+1);
for(l=0;l<m;l++)
*(y+i+1)=*(x+l);
printf("\n%s",b);
return 0;
}
请问哪里出错了?为什么没办法输出
展开
 我来答
GTA小鸡
高粉答主

2017-12-04 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
int main()
{
    char a[100],b[100],*x,*y;
    int i;
    printf("输入字符串1:");
    scanf("%s",a);
    printf("输入字符串2:");
    scanf("%s",b);
    printf("将字符串1插入到字符串2的第几个字符后:");
    scanf("%d",&i);
    x=a;
    y=b+i;
    while((*y++=*x++)!='\0');
    printf("%s",b);
    return 0;
}
更多追问追答
追问
输出之后字符串2的后半部分没了是什么原因呢?
追答
插入之后当然覆盖了
阿巴阿巴阿巴阿巴皮卡丘
2018-12-23
知道答主
回答量:1
采纳率:0%
帮助的人:777
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100],c,e[100],f[100];
int i,j,p,flag=0;
printf("Input source string 1:\n");
scanf("%s",a);
printf("Input inserted string 2:\n");
scanf("%s",b);
printf("Input a letter to locate the index:\n");
getchar();
scanf("%c",&c);
p=strlen(a);
for(i=0;i<p;i++)
{
e[i]=a[i];
if(a[i]==c)
{
flag=1;
e[i]='\0';
for(j=i;j<p;j++)
{
f[j-i]=a[j];
}
break;
}
}
if(!flag)
printf("Not found!");
else
{
strcat(e,b);
strcat(e,f);
printf("The new string is:%s",e);
}
return 0;
}

可以插到字符串一的指定位置——假设是字符串为asdfghj,12345,输入d,则结果为as12345dfghj。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式