想问问为什么一运行直接就这样了,没有输出1呀

#include
int main()
{
int n,i,j;
int a[1000][1000];
scanf("%d",&n);
printf("1\n",a[0][0]);
return 0;
}

img

int a[1000][1000]申请内存太大,将其放到main函数之前,变为全局变量

你输出的是数组内容,你就要有占位符
printf("%d\n" ,a[0][0]);
如果你要直接打印1
printf("1\n");
有帮助的话采纳一下哦!

供参考:

#include <stdio.h>
int a[1000][1000];
int main()
{
    int n,i,j;
    //int a[1000][1000]; 修改
    scanf("%d",&n);
    printf("1\n"); //a[0][0]); 修改
    return 0;
}