我想知道 printf() 如何确定何时停止打印字符串,即使我没有在字符串末尾放置终止符?我通过 malloc 做了一个 10 字节内存的实验,并在其中正好放了 10 个字符,不知何故,printf 仍然可以打印出这些字符而不会超出范围,为什么?
最佳答案
字符串后面的字符之一很可能是 NULL,因此 printf 停在那里,此外,在您 malloced 的内存之后不为 NULL 的字符可能不是可打印字符,因此您不会在终端。
关于c - 为什么 printf 适用于未终止的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999901/