改错题,c语言,将字符串b连接到字符串a

#include<stdio.h>voidmain(){chara[]="wel",b[]="come";inti,n=0;while(!a[n])n++;for(i=0... #include<stdio.h>
void main()
{ char a[]="wel",b[]="come";
int i,n=0;
while(!a[n])n++;
for(i=0;b[i]!='\0';i++)a[n+i]=b[i];
a[n+i]='\0';
printf("%s\n",a);
}
展开
 我来答
guan_yisheng
2013-11-08 · TA获得超过210个赞
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:145万
展开全部

#include<stdio.h>

void main()

{ char a[]="wel",b[]="come";

  int i,n=0;

  while(!a[n])n++;

  printf("n = %d\n",n);  //给你加个注释的地方,有利于你去查找

  for(i=0;b[i]!='\0';i++)a[n+i]=b[i];

  a[n+i]='\0';

  printf("%s\n",a);

  system("pause");

  return 0;

}

最好还是你自己去查找出错误,这也是种能力的锻炼

Arthurzss
推荐于2017-12-15 · TA获得超过1661个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:240万
展开全部

两个地方:

#include<stdio.h>
void main()
{ char a[100]="wel",b[]="come";//数字长度要长一点,否则是根据后面字符串长度来定义数组的
  int i,n=0;
  while(a[n])n++;//条件正好反了,所以!去掉就能连接字符串了
  for(i=0;b[i]!='\0';i++)a[n+i]=b[i];
  a[n+i]='\0';
  printf("%s\n",a);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BYSF_XF
2013-11-08 · TA获得超过824个赞
知道小有建树答主
回答量:689
采纳率:33%
帮助的人:529万
展开全部
a数组的长度只有3,这样写,会溢出,程序运行就会出错。
你要保证a有足够的长度才能这样做。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式