c语言我知道定义数组,在赋值的元素少于定义时的元素的个数时就会补\0

c语言我知道定义数组,在赋值的元素少于定义时的元素的个数时就会补\0那么为什么单个字符输出的时候就输出\0,就是输出空字符,而输出字符串的时候就不输出\0,求大神解释,谢谢🙏

你没明白字符和字符串在输出时的区别, 字符就不用说了, 字符串在输出时, 只需要给出首地址(也不一定是首地址, 任意一个地址), 它就会按内存地址一个接一个的输出, 直到遇见'\0'追问

那么我定义了10个元素,字符串只有5个元素,那剩下的4个元素怎样处理的

追答

如果是按字符串处理, 不用管剩下的4个元素

追问

那剩下的4个元素依然占空间只是停始输出不显示出来?

追答

是的, 那段内存空间依然被该数组占用, 只是用字符串输出时不显示, 如果用逐个字符输出时会被显示

温馨提示:答案为网友推荐,仅供参考
相似回答