为什么这里的str[4]存储空间够用,而没有溢出,然后直接给str[4]定义,输出却只有hell

img

img

数组已经溢出了
c语言数组越界是不会报错误的,多于的字符会写入到数组分配空间之后的未知空间中,
虽然可以这样但不安全。因为这个内存空间可能会分配给其它变量,当这个变量的值改变时数组也就受到影响。

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img