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)

    以上

    评论

报告相同问题?