C语言求助,a[0]读入不知道为什么是null

P1200 [USACO1.1] 你的飞碟在这儿 Your Ride Is Here

@[huayikai](/user/902095) 这长度不一定为 $6$ 吧
by _maojun__ @ 2022-12-05 14:00:47


应该开长度为 $7$ 的数组。 字符串 ```"Hello"``` 是 ```const char[6]``` 型的数据。这个数组是: ```{'H','e','l','l','o','\0'}``` 。除了字符串内容以外,还有一个结束符 ```'\0'``` 。所以你的数组大小应该开到 $7$ 。 还有,我个人习惯,初始化 ```char``` 型字符串时,我不太喜欢用 ```char a[7];``` ,我比较喜欢用 ```char *a=new char[7];``` ,初始化成一个数组指针。 如果还有问题我就不知道了……
by diamond_153 @ 2022-12-05 15:57:35


@[diamond_153](/user/751417) 还有,你打印这个数组时, ```printf``` 函数会沿着 ```a``` 数组的内存一直寻找下去,直到遇到一个“不存在的 ```\0``` ” 为止,有可能是这个原因导致产生 ```(null)``` 。
by diamond_153 @ 2022-12-05 16:03:17


@[diamond_153](/user/751417) 谢谢大佬讲解
by huayikai @ 2022-12-05 16:15:19


|