c++中const int 定义二维数组大小使运行无结果

c++中,我用 const int 定义二维数组的大小,编译运行成功,但没有任何输出结果

#include
using namespace std;

const int MAX_N=10000;

int main(){
    int dp[MAX_N][MAX_N];
    cout<<1;
    return 0;
} 

然后我就改用define,效果一样

#include
using namespace std;

#define MAX_N 10000

int main(){
    int dp[MAX_N][MAX_N];
    cout<<1;
    return 0;
} 

img

但是以上两种情况,
我将定义二维数组的两个MAX_N变成一个MAX_N和一个常数时,就能正常显示运行结果:
又或者将二维数组改为一维数组;
又或者将cont int或define的数据改成10,也一样能出运行结果.

那么问题到底出在哪儿呢,只能用vector了吗

数组太大了要定义在main函数外面

#include<iostream>
using namespace std;

const int MAX_N=10000;
int dp[MAX_N][MAX_N];
int main(){
    
    cout<<1;
    return 0;
} 

这与这个没关系吧,是太大了吧,这么大的二维数组超出了系统默认的大小,所以失败。你改小点就可以了。

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632