C语言提问 输出数组大小为50的字符类型输出会有小方框出现,而大小为20的就没有。
下图为数组大小为50的情况:


下图是数组大小为20的情况:


- 这个方框可能是 未知值, 数组长度是 20的时候,在你电脑上遇到这个值之前,就先遇到'\0' 结束符,打印输出了。 数组长度是50的时候,在你电脑上这个未知值 正好就在 遇到 '\0' 结束符 之前,所以它被输出了。 显示方块,是因为这里的值在你的计算机上没有对应的字符库。
- 建议字符数组拼接完了 , str1[str1_lenght + i] = '\0' 在最后 赋一个结束符,后面不管多长的数组,拼接完了输出就都没有问题了。
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^