首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何结尾会多出来一个‘a’

2012-03-15 
怎么结尾会多出来一个‘a’?源码:#includeiostreamusingnamespacestdtemplateclassTvoidprint(Tarray[]

怎么结尾会多出来一个‘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

热点排行