Minesweeper.cpp(9) : error C2057: expected constant expression

如题所述

数组定义时的下标不能为变量,而且定义必须要在前面,也就是说定义的前面不能对程序进行运算

就是说:

char a[n][x]这里的n和x如果都被定义过,会出错,没被定义过也会出错(←废话.....)数组*定义*时的下标不能为变量,就像你写的那样想要这样你要学学动态地申请空间(简单~)你如果想这样写,必须这样:

# include <stdio.h>
# include <stdlib.h>

int main(void)
{
    int i, j;
    int *p = NULL;

    scanf("%d %d", &i, &j);
    
     p =(char*) malloc(i*j);
     if(0 == p)
         exit(-1);
    
    return 0;
}

可以把p当数组名,i/j是行数,列数.注意,这个代码不能用作其它数据类型,我写的就是char

VC++6.0环境

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-05
C语言中数组下标不能用变量
相似回答