为什么c语言中字符串输入的长度会超过我定义的字符数组?

如题所述

因为你输入的本来就超过了
C语言中的字符串是不会给你做边界检查的,说白了char a[3] 这种只是说“假设”a字符串不超过2个字符(最后一个要给\0) , 但实际上你即使超限了,他也不会管你,但他会影响到(例如覆盖)其他的数据,也有可能出现运行时错误
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-23
C语言中,我定义了一个长度为20的字符数组,但是输入的字符数不到20个,我希望把剩下的地方空出来, 你输入的不到20,在字符串最后是有个字符串结束标记的,结束标记到数组的第19个元素之间就是空着的,你可以用来干干事情,但是不建议这样做本回答被网友采纳
第2个回答  2022-06-27
你输入的不到20,在字符串最后是有个字符串结束标记的,结束标记到数组的第19个元素之间就是空着的,你可以用来干干事情,但是不建议这样做
第3个回答  2022-06-27
你输入的不到20,在字符串最后是有个字符串结束标记的,结束标记到数组的第19个元素之间就是空着的,你可以用来干干事情,但是不建议这样做
相似回答