我有一个类型' char'使用最后一个符号' \ 0'。
#include<iostream>
void main()
{
char a[4];
a[0] = 'r';
a[1] = 'r';
a[2] = 'r';
a[3] = '\0';
for (int i = 0; i < 6; i++)
{
cout << a[i];
}
cout << endl;
}
所以,当我尝试输出比这个数组更多的符号时,它会在&#39; \ 0&#39;之后输出随机符号。符号
输出:
rrr ╠╠
我的问题是:在&#39; \ 0&#39;之后如何创建没有符号的数组?符号?
答案 0 :(得分:0)
首先,此数组的大小为4,因此当您尝试访问任何超出范围的元素时,您会读取随机内存。
其次,&#39; \ 0&#39; character是一个字符串终止符号。您不需要清除它后面的所有元素。在&#39; \ 0&#39;之后,所有标准IO功能都不会写入。 你可以尝试:
cout << a;
没有任何循环。