C++数组意外错误
C++ Array unexpected bug
我想制作一个简单的程序,显示一个 16 个 'X' 的正方形,你可以改变特定的坐标。一切都完成了,我没有收到任何错误报告,但在程序中,事情非常奇怪。我应该得到的很容易
XXXX
XXXX
XXXX
XXXX
如果我将 1,1 更改为 A,我应该有这个
AXXX
XXXX
XXXX
XXXX
但是当我运行该程序时,我看到的是这样的:
XXXX
XXXX
XXXX
@
那么第四行是怎么回事呢?第一个地方有一个笑脸(我用了一个@),其余的都是空的。当我将 1,1 更改为任何内容时,3,4 也会更改。其他一切正常。如果我尝试更改第四行中的某些内容,程序就会崩溃。如果您想自己测试,我可以上传.exe #include
using namespace std;
int main()
{
for (;;) {
int eingabe1;
int eingabe2;
char neueingabe;
char array[4][4];
array[1][1] = 'X';
array[1][2] = 'X';
array[1][3] = 'X';
array[1][4] = 'X';
array[2][1] = 'X';
array[2][2] = 'X';
array[2][3] = 'X';
array[2][4] = 'X';
array[3][1] = 'X';
array[3][2] = 'X';
array[3][3] = 'X';
array[3][4] = 'X';
array[4][1] = 'X';
array[4][2] = 'X';
array[4][3] = 'X';
array[4][4] = 'X';
cout << "koordinaten eingeben" << endl;
cin >> eingabe1;
cin >> eingabe2;
cout << array[eingabe1][eingabe2] << endl;
cout << "neueingabe eingeben" << endl;
cin >> neueingabe;
array[eingabe1][eingabe2] = neueingabe;
cout << array[eingabe1][eingabe2]<< endl;
}
return 0;
}
希望你能帮上忙
你正在写你的数组!
C/C++/C#/Java 和大多数其他语言中的数组以 0 开头编号。
所以对于
int arr[4];
// you have:
arr[0]=1;
arr[1]=2;
arr[2]=3;
arr[3]=4;
//arr[4]= A REALLY BIG ERROR;
从 0 开始索引。所以最大指数是3,3;最小值为 0,0。访问其他值会导致随机行为 - 在最好的情况下,它会使您的程序崩溃。
相关文章:
- vscode下的Arduino代码出现意外编译错误
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- C++标头错误 C2238 意外标记";"
- C++ 编译错误:意外的类型名称"字符串":预期的表达式
- 在gcc中意外调用了Const重载.编译器错误或兼容性修复程序
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- boost::p rogram_options 在指定意外的位置参数时不报告任何错误
- 从 C++ 调用 cURL 命令会返回意外的错误代码,如 1792 和 6656
- Qt5 C++中出现意外"Multiple definition"错误
- 排序程序的意外错误代码
- 在 c++ 中声明向量时出现意外错误
- 函数调用中出现意外编译错误 (C++)
- 使用相同的函数时意外收到"std::out_of_range"错误
- 在第三个 pary 函数中使用矢量引用时出现意外错误
- 创建进程失败,意外错误
- 企业架构师错误:意外符号修复
- 在 Linux C++的两个线程之间使用管道的错误/意外行为
- Mex运行时错误:意外的标准表达式
- Cmake 奇怪的错误:语法错误意外的令牌 ('
- Cuda错误:意外启动失败