怎么结尾会多出来一个‘a’?
源码:
#include <iostream>
using namespace std;
template <class T>
void print(T array[], const int count)
{
int i;
for (i=0; i <count; ++i)
{
cout < <array[i] < < " ";
}
cout < <endl;
}
int main()
{
const int N = 6;
int a[N] = {0,1,2,3,4,5};
char c[N] = "HELLO ";
print(a,N);
print(c,N);
return 0;
}
屏幕显示:
0 1 2 3 4 5
H E L L O a
Press any key to continue
???:
HELLO 后面的 'a ' 哪来的??
[解决办法]
我用VS2003运行是正常的 没有a
[解决办法]
你是什么环境,我运行也是没有的。
[解决办法]
print(a,N);
print(c,N);
格式化输出通常不是这么用的
[解决办法]
vs.net下面也正确。
array[5]没有过界,只不过其值为空。因为char c[N] = "HELLO ";
用单步调试,监视array[5]就可以看出来了。
[解决办法]
你换个环境看看,我们都没有a