以下代码似乎在不应该运行时运行。在这个例子中:
#include <iostream>
using namespace std;
int main()
{
char data[1];
cout<<"Enter data: ";
cin>>data;
cout<<data[2]<<endl;
}
输入长度大于 1 的字符串(例如,“Hello”),将产生输出,就好像数组大到足以容纳它(例如,“l”)。当它尝试存储比数组长的值或尝试检索索引大于数组长度的值时,这是否应该引发错误?