C++ cout 新鲜数组乱码

标签 c++

当我“cout”一个空数组时,我得到了乱码。为什么?

int main() { char test[10]; cout << test; return 0; }

...返回一些 unicode 废话。我敢肯定这是一个简单的答案。

最佳答案

因为你的数组没有初始化。它的内容可以是任何内容,使用它们会出现未定义的行为。

您可以将它们全部初始化为零:

char test[10] = {};

打印时,什么也不会打印。

关于C++ cout 新鲜数组乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878106/

相关文章:

c++ - 为什么存在奇特的指针?

c++ - 充满函数指针的结构是 C++ 二进制兼容性的良好解决方案吗?

c++ - 对 std::cin >> 的调用不会阻塞

c++ - 在 Qt 应用程序中编译多个 .cpp 文件

c++ - 指针数据类型变量如何包含对象?

Android oboe c++ E/AudioALSAPlaybackHandlerBase : openPcmDriver(), pcm_start(0xeff82fc0) 由于无法启动 channel 而失败:管道损坏

c++ - 如何静态构建 Qt 5

c++ - Qt4 与 Qt3 有何不同?

c++ - C++ 中的递归与迭代阶乘

Java 泛型和 C++ 模板,如果生成的代码大小很重要,哪个是首选?