codeblocks c++程序编译运行后,控制台输入不了字符的解决方式

很久没敲过代码了,最近在刷ccf的题,经常遇到如下问题:

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

#define N 1005

int main(){
    int n,m;
    int a[N][N];
    scanf("%d%d",&n,&m);
    memset(a,0,sizeof(a));

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            scanf("%d",&a[i][j]);

    for(int i=m;i>=1;i--){
        for(int j=1;j<=n;j++){
            printf("%d ",a[j][i]);
        }
        printf("\n");
    }

    return 0;
}

上述是一个矩阵逆时针旋转的输出程序,但是编译运行后控制台却打不出任何字符:

检查发现是二维数组过大,空间不够,若把N修改为100即可输入:

但题目要求N取值在[1,1000],故把二维数组定义为全局即可:

发布了73 篇原创文章 · 获赞 55 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_35756383/article/details/88381025