下面程序的运行结果是。

下面程序的运行结果是。#include<stdio.h>#include<string.h>main(){chara[80]=“AB”,b[80]=“LMNP”;inti... 下面程序的运行结果是。
#include<stdio.h>#include<string.h>
main()
{
char a[80]=“AB”,b[80]=“LMNP”;
int i=0;
strcat(a,b);
while(a[i++]!=‘\0’)b[i]=a[i];
puts(b);
}
A)LB B)ABLMNP C)AB D)LBLMNP
展开
 我来答
4747哦
2019-07-19 · TA获得超过675个赞
知道小有建树答主
回答量:365
采纳率:73%
帮助的人:75.2万
展开全部

这里最主要的问题在于对while (a[i++]!='\0') b[i]=a[i];这句话没有理解清楚。strcat(a,b)所以:a="ABLMNP"; b=“LMNP”
while (a[i++]!='\0') i=0表达式i++=0判断a[0]!='\0'后,i自增1,即i=1;所以进入循环体执行b[i]=a[i]时,i=1的,b[1]=a[1]='B';b[0]的值并未改变,b[0]=L;
因此将a[i]后面的值赋给b[i],所以结束的时候b="LBLMNP"。//
while (a[i]!='\0')
{
b[i]=a[i];
i++;
}
改成这样就是"ABLMNP"

dongyue2008
推荐于2018-03-20 · TA获得超过3605个赞
知道大有可为答主
回答量:1300
采纳率:100%
帮助的人:628万
展开全部
答案选D。
strcat(a,b); 结果 a 为 ABLMNP,b 为 LMNP。
while(a[i++]!=‘\0’)b[i]=a[i]; 一开始 i 等于 0,但在 while 的循环条件中将 i 自增,所以第一次进入循环体时 i 等于 1,于是就有了最终结果:LBLMNP。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式