C语言字符数组赋值问题。

2025-12-24 13:40:38
推荐回答(3个)
回答1:

虽然数组只定义了4个,当你输入的字符个数超过4个以后,这些字符在内存中放在以数组名b为首地址的连续存储空间,你只不过用了4个存储单元,
假设数组b在内存中的位置从100开始,而你只是用到了100 、 101、 102 、103四个位置,但是从104开始向后的存储位置也可以存储数据啊,只不过你没有用到。所以当你输入的字符超过4个。还能存储,程序也能编译。

回答2:

数组越界,肯定可以访问,但结果是未定义的,你这个程序短看不出来,也就是你越界的那部分可能并没有另作他用

回答3:

编译、连接过程不检查数组越界问题,只有运行的时候才会出问题,有可能会死机,有可能是莫名其妙的问题