请问为什么程序不加这一步(程序中标出)会出现最后的乱码□。程序是将两个字符串连接在一起,有描述,有运行结果,见下图。

img

img

img

\0是字符串结束标志,没有\0就不能算字符串,puts(char *) 的输出格式是遇到'\0' 结束输出,所以就把非法内存的东西输出出来了

\0代表字符串的结束符,不加上输出字符串的时候长度就不确定

\0是字符串结束符,不加就是没有结束,那打印的时候会把后面的不管什么乱七八糟的都当字符串的一部分往外打印,一直到遇到一个0为止