简单程序引出的问题,这是VC++的BUG吗?
这是一个最简单的程序,
源代码如下:
#include<iostream>
#include<string>
using namespace std;
void main()
{
char a[5];
strcpy(a,"kswucfet");
cout<<a<<endl;
}
我定义的数组元素只有5个,
但是复制到它里面的字符串长度为8,
运行却没有错误,
而且这不是偶然的内存分配问题,
我试过多次,
如果数组元素定为4,
那么a最多只能装四个字符,
如果数组元素定为5,
那么a最多能装8个字符!!!
如果数组元素定为6,
那么a最多也是能装8个字符!!!
我在多套VC++系统里运行过这个程序,
情况都是如此,
这是VC++的BUG吗?
还是其它的什么既定的已知的知识?
请各位高手赐教!