(43) 设已有定义: char *st="how are you"; 下列程序段中正确的是 10

(43)设已有定义:char*st="howareyou";下列程序段中正确的是A)chara[11],*p;strcpy(p=a+1,&st[4]);B)chara[1... (43) 设已有定义: char *st="how are you"; 下列程序段中正确的是
   A) char a[11], *p; strcpy(p=a+1,&st[4]);
   B) char a[11]; strcpy(++a, st);
   C) char a[11]; strcpy(a, st);
   D) char a[], *p; strcpy(p=&a[1],st+2);
C错
继续
展开
 我来答
王传宇65
推荐于2018-03-02 · TA获得超过155个赞
知道答主
回答量:18
采纳率:100%
帮助的人:2.2万
展开全部
选A
strcpy(p=a+1,&st[4]);
从st[4]开始复制给p,最终p="are you"
B,a是字符数组名,是个常量,不能执行++a操作
C.因为*st="how are you";有11个字符,包括\0就有12个字符.
所以a[11]没有把\0复制过去.会有乱码.
D.a[]没有声明多大的数组.
补充:C不是有乱码的问题,是因为数组a[11]不够存放str.
zybb_4444
2006-08-05
知道答主
回答量:57
采纳率:0%
帮助的人:53.4万
展开全部
A B D都错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月梦23
2020-04-16
知道答主
回答量:12
采纳率:0%
帮助的人:8860
展开全部
选A
B,C错在 a的长度小于st;
D a没有声明字符数组长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友df793ea11
2006-08-05 · TA获得超过1209个赞
知道小有建树答主
回答量:2344
采纳率:0%
帮助的人:1599万
展开全部
C
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式