C语言字符串,数组占用空间

Teacher说在scanf函数用只能读取数组小一的空间因为最后有个0,而在printf函数中为什么数组可以达到最大比如a7=8,没有最后的0吗?

img

img

最后一个是\0表示的是字符串的结束,会在scanf,格式写%s的时候自动添加进去,你这个是在int数组里面直接放入的值,也不是字符串,所以不会有\0

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^