c – 为什么printf适用于非终止字符串

前端之家收集整理的这篇文章主要介绍了c – 为什么printf适用于非终止字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道printf()如何确定何时停止打印字符串,即使我没有在字符串的末尾放置终止字符?我用malloc做了一个10字节内存的实验,并在其中放入了10个字符,不知何故,printf仍然可以打印出这些字符而不会超出限制,为什么?

解决方法

字符串后面的一个字符很可能是NULL,因此printf在那里停止,此外,在你malloced的内存之后非字符的字符可能不是可打印的字符,所以你不会在终端中注意到它们.

猜你在找的C&C++相关文章