chanyueling 2021-01-26 13:41 采纳率: 0%
浏览 9

(c语言)这段代码为什么运行时输入首个字符出问题?

/*分配二维数组*/ 
	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("=");
	}
  • 写回答

3条回答 默认 最新

  • 泡视界 2021-01-26 14:42
    关注

    动态分配不对

    char **a = (char**)malloc(sizeof(char)*x)

    改为

    char **a = (char**)malloc(sizeof(char*)*x)

    以上

    评论

报告相同问题?

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序