我会很诚实/坦率地说-我既是 C++ 的菜鸟,也是一般的计算机编程的菜鸟,此外,我也是这个网站的菜鸟。我将在我的问题前言,实际上我确实查看了可能与我自己相关的其他问题,但感觉它们超出了我的范围。话虽如此,这是我的问题:
我收到此错误消息:
“运行时检查失败 #2 - 变量 'arr' 周围的堆栈已损坏。”
这是我的代码。对于一些数组练习来说,这只是一个基本的小东西。函数 multiTable 输出一个乘法表:
#include <iostream>
#include <iomanip>
using namespace std;
void multiTable();
int main()
{
multiTable();
return 0;
}
//Prints a 9 by 9 multiplication table;
void multiTable()
{
const int row = 9, col = 9;
int arr[row][col];
for(int i = 1; i <= row; i++)
{
for(int j = 1; j <= col; j++)
{
arr[i][j] = j * i;
cout << setw(3);
cout << arr[i][j];
}
cout << endl;
}
}
我还想提一下,如果我只是将函数体中包含的所有代码都包含在 main 中,而不是函数调用,我不会得到运行时错误。为什么当它包含在函数中时,我得到运行时错误,但是当它只是在 main 中时,我没有得到错误?当然,为了使函数调用不产生错误,我必须进行哪些更改?