C/C++中键盘输入数组越界问题

来源:互联网 发布:java ssh协议 编辑:程序博客网 时间:2024/04/30 13:20

在C/C++中,

用键盘输入(scanf)数组时,多余的输入会在缓冲区中,等待下一个(scanf),把缓冲区中的字符输入。

而数组(字符串)结束是监测到‘\0’才会输出结束,在一开始数组中被'\0'填满,在键盘输入时会吧'\0'覆盖

,如果输入超过了数组的大小就会把最后一个'\0'覆盖,导致只能在内存中找下一个'\0'停止输入,可能会

多输出奇怪的字符,因此数组越界是不会检测出来的,而且连报错也不会有,所以要自己多留意。