/*分配二维数组*/
char **a = (char **)malloc(sizeof(char)*x); //分配x行
for(i = 0;i < x;i++){
a[i] = (char *)malloc(sizeof(char)*y); //每行y个
}
/*二维数组赋值*/
for(i = 0;i < x;i++){
for(j = 0;j < y;j++){
printf("输入\n");
scanf("%c ",&a[i][j]);
printf("%c\n",a[i][j]);
printf("#\n");
}
printf("=");
}(c语言)这段代码为什么运行时输入首个字符出问题?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
泡视界 2021-01-26 14:42关注动态分配不对
char **a = (char**)malloc(sizeof(char)*x)
改为
char **a = (char**)malloc(sizeof(char*)*x)
以上
解决 无用评论 打赏 举报