c++的一个问

来源:百度知道 编辑:UC知道 时间:2024/05/30 08:37:04
#include<iomanip.h>
void main()
{ int m=3,n=4;
int a[m][n]={{7,5,14,3},{6,20,7,8},{14,6,9,18}};
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
cout<<setw(5)<<a[i][j];
cout<<endl;}
}这个程序为什么运行不了

数组的下标应该是一个常量。 而你的m和n是变量。
可以用宏 #define M 3
#define N 4
也可以用 const int m = 3; const int n = 4;

什么叫运行不了? 编译不通过还是段错误?
看了一下你至少应该在main的前面加上这样两行:
#include <iostream>
using namespace std;
声明m和n的int前加上const修饰

const int m=3,n=4; //改一下