#include <stdio.h>
#include <stdlib.h>
int main(){
char **lab;
char c;
int x,y,i=0,j=0,columnnumber=0,rownumber=1,check=1;
scanf("%d %d",&x,&y);
lab = (char**)malloc(sizeof(char*)*rownumber);
lab[0] = (char*)malloc(sizeof(char)*1000);
while(check){
scanf("%c",&c);
if(c=='\n'){
check = 0;
}
else{
lab[0][columnnumber] = c;
columnnumber++;
}
}
lab[0] = realloc(lab[0],(columnnumber+1)*sizeof(char));
rownumber = 2;
lab = (char**)realloc(lab,rownumber*sizeof(char*));
lab[1] = (char*)malloc(sizeof(char)*(columnnumber+1));
check = 1;
while(check){
scanf("%c",&c);
if(c=='\n'){
rownumber++;
lab = realloc(lab,rownumber*sizeof(char*));
lab[rownumber-1] = (char*)malloc(sizeof(char)*(columnnumber+1));
j = 0;
}
else if(c == EOF){
check = 0;
}
else{
lab[rownumber-1][j] = c;
j++;
}
}
}
迷宫(有' ' 在每行的末尾和 EOF 在末尾):
XXXXXXXXXXXXXXXXXXXXX XXXX
X XXXX X XX XXXX
X X XXXXXX XX XX
X XXXXXX XXXXXXXXX XX XX
X XX XXXX X XX X XX
X XX X XXX XX XXXXX XX XX
X X XX X X XX
X X XXX XXX XXXXXX XXXXX
X XX XX X XX XX XX
X XX XXXX X X XX XX XX
X XX XX XX XXX XX XX
X XX X XXX XX X XX
X XX XXX XXXXXXXXX XX
X XXXX XX XXXX
XXXXXXXXXXXXXXXXXXXXXXXXXX
我应该接受输入,我们称之为迷宫,并将这个迷宫信息存储在一个二维指针数组中,正如我在标题中所说的那样。我怎样才能做到这一点?我是动态分配和 C 编程的新手。只要不超过 100k 个单元格,行数和列数就可以变化。
有' ' 在每行的末尾和 EOF 在末尾(迷宫在上面)。