【发布时间】:2022-11-25 22:30:49
【问题描述】:
int main(){
int limit_x;
int limit_y;
scanf("%d", &limit_x);
scanf("%d", &limit_y);
char map[limit_x][limit_y];
for (int index_x=0;index_x<limit_x;index_x++)
{
for (int index_y = 0; index_y < limit_y; index_y++)
{
scanf("%c", &map[index_x][index_y]);
}
}
}
这就是我尝试这样做的方式,但它对我不起作用。 它显示错误 C2057、C2466。
让用户输入行和列,并通过输入制作一个动态的二维数组映射。
【问题讨论】:
-
char map[x][y];是一个可变长度数组,一些编译器,尤其是微软的,不支持。您需要使用动态分配(例如:malloc) -
@hu xiuleiwe 显示错误信息。
-
“标识符”:未知大小,“标识符”:缺少下标,无法分配常量大小为 0 的数组 @VladfromMoscow
-
@UnholySheep THX 我会试试的
-
微软编译器不支持 VLA - 因此出现错误。
标签: c