关于C语言字符数组和字符串的问题

是否这两者可以等同?如果可以等同的话那么字符数组中chara[10]里的10代表什么意义?这个程序中输入了超过10个元素而没有报错、是为什么... 是否这两者可以等同?
如果可以等同的话那么字符数组中char a[10]里的10代表什么意义?

这个程序中输入了超过10个元素而没有报错、是为什么
展开
 我来答
风若远去何人留
推荐于2016-11-28 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450110
专业C/C++软件开发

向TA提问 私信TA
展开全部
C语言中 没有字符串这个类型,所有的字符串都是字符数组(字符指针也等效于字符数组)
这里的10就是定义10个空间,明显你这个越界了
但是越界了不代表会出问题

就像你去宾馆,定了10个单人间,住进了20个人,实际上住了20间房间。
如果这多余的10个房间正好没人住,那就什么问题都不会有
如果有人住,但是只是普通人,你把他们赶出去,自己住也不会出什么问题,只不过后续如果找原本住的人就找不到了(访问溢出部分的空间值)
如果原本住的是大人物,比如一个公安局长什么的(系统关键内存),那程序就会挂掉了。
你这个应该是正好碰到第一种情况了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式