【发布时间】:2015-12-04 13:21:48
【问题描述】:
我有一个由 5 个空格组成的字符数组。我正在尝试使用 for 循环用字符填充它。但是,当循环结束时,数组包含几个充满垃圾的空格。在此示例中,它应该生成一个结果为'aaaaa' 的数组,但它看起来类似于'aaaaaýýýý««««««««þîþîþ'。为什么会出现这种情况?如何防止未使用的内存空间包含在数组中?
char* array = new char[5];
for (int j = 0; j < 5; j++)
{
array[j] = 'a';
}
【问题讨论】:
-
您忘记在末尾添加
\0。 -
您忘记在末尾添加 \0。 以及足够的数组元素来包含该 NUL。