C语言:关于字符数组的输出

 我来答
公冶同书宰念
2020-03-08 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1103万
展开全部
这个字符串的长度应该是7,而不是6
因为字符串是以\0结尾的,这个结尾符占1个字节,但是不显示出来
所以你把"abkedk"放进a[6]中其实是放不下的
可以用sizeof(a)/sizeof(a[0])看下数组a占的字节数
另外有个函数strlen(a)可以计算字符串中的字符数,结果不包括结尾符'\0'
姒秀爱庹香
2019-08-12 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.2万
采纳率:25%
帮助的人:958万
展开全部
#define
D
6
应该是#define
D
7
因为字符串最后要加一个\0,\0也要分配一个空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陶墨彻竺戊
2020-02-01 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:708万
展开全部
defined
D
7
因为在C中默认数组最后一位是/0
我用VC++运行,这程序就通不过,因为溢出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星长征表卿
2019-05-12 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:31%
帮助的人:1090万
展开全部
你的字符串没有结尾的'\0'这个符号了
你把字符串长度设为7
a[D]
=
"abkedk";
这样就可以正常输出了
字符串的结尾是有'\0'这个符号结尾的
lsd也可以不过他不是用字符串的输出了
用的是字符输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
介树花弘诗
2019-07-28 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:814万
展开全部
b[5]
=
'\0';
与b[5]=0;
是一样的
将字符赋给变量
就是将字符的ascii码赋给变量
'\0’也是字符
ascii码的值是0
所以
b[5]
=
'\0';
与b[5]=0;
是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式