【发布时间】:2017-03-22 12:16:51
【问题描述】:
我正在尝试实现以下 c 代码:
int row, col;
scanf("%d %d", &row, &col);
char *map[col];
for(int i = 0; i < row; i ++){
scanf("%s", map[i]);
}
用户在同一行输入两个数字来声明数组的行和列的大小。然后用户将继续输入将要存储的每一行。示例输入如下所示:
10 12
oooooooooooo
oooooo.o.ooo
o.o.ooooooo.
o.o.o..o...o
o.ooo.oo.o.o
o...oooo.o.o
.......o.o.o
o.o.o.oo.o.o
ooooooooo..o
o...oooooo.o
但是当我运行我的代码时,我遇到了分段错误。有什么建议吗?
我无法使用 char map[][],因为程序中的其他函数使用 *char[]。
【问题讨论】:
-
那个 sn-p 不会“运行”。它甚至不会编译。请参阅How to Ask 并提供minimal reproducible example。
-
我可以向你保证,第一个片段可以编译
标签: c pointers char segmentation-fault scanf