. 若有以下定义和语句: char a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b); 则a[5]的值是?

求详解... 求详解 展开
帐号已注销
2021-01-04 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:165万
展开全部

strcpy(a,b),即把b[]嵌入到a[]中,覆盖原a[]的相应数值,a[]现在是{A,B,C,d,e,f}那么a[5]的值应该为f。

若有以下定义和语句: char a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b); 则a[5]的值是'f'。

因为执行strcpy(a,b);时,a数组中被覆盖的元素有4个,zhuan即'A','B','C','\0',所以,a[4]仍是'e',a[5]仍是'f'。

但是,输出printf("%s",a);的值,是ABC

除非,输出printf("%s",a+5);的值,是ef

扩展资料:

int[]x; //声明名称为x的int型数组

x=new int[10]; //x数组中包含有10个元素,并为这10个元素分配内存空间

在声明数组时,也可以将两个语句合并成一行,格式如下:

数据类型[]数组名= new 数据类型[个数];

利用这种格式在声明数组的同时,也分配一块内存供数组使用。如上面的例子可以写成:

int[]x = new int [10];

参考资料来源:百度百科-数组

唐四海RK
2011-06-23 · TA获得超过1498个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:193万
展开全部
strcpy(a,b),即把b[]嵌入到a[]中,覆盖原a[]的相应数值,a[]现在是{A,B,C,d,e,f}
那么a[5]的值应该为f。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero_fn
2011-06-23 · TA获得超过2258个赞
知道小有建树答主
回答量:1173
采纳率:80%
帮助的人:455万
展开全部
'f'
a[]首先是一个数组,strcpy操作改变了前4个元素,但第5,6,7元素没有被改变,所以还是'e' 'f' 和'\0'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
napode
2011-06-23 · 超过14用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:39.6万
展开全部
DEF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cocopark1982
2011-06-23 · TA获得超过348个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:490万
展开全部
ABCdef
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式