动态二维数组程序异常(蓝桥杯)

题目:
利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
样例输入
5 7
样例输出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

自己敲的码如下,求帮挑挑问题


```c

#include<stdio.h>
#include<stdlib.h>
int main()
{
    char** arr;
    int line, list;
    int n, m;
    scanf("%d", &n);
    scanf("%d", &m);
    arr = (char**)malloc((n) * sizeof(char));
    for (list = 0; list < m; list++)
        arr[list] = (char*)malloc((m) * sizeof(char));
    arr[0][0] ='A';
    for (list = 1; list < m; list++)
        arr[0][list] = arr[0][0] + list;
    for (line = 1; line < n; line++) {
        for (list = 0; list < m; list++) {
            if (list == 0)
                arr[line][list] = *(*(arr+line-1)+list)+1;
            else
                arr[line][list] = *(*(arr+line-1)+list-1);
        }
    }
    for (line = 0; line < n; line++) {
        for (list = 0; list < m; list++) {
            printf("%c", arr[line][list]);
        }
        printf("\n");
    }
    return 0;


arr = (char**)malloc((n) * sizeof(char));
改为
arr = (char**)malloc((n) * sizeof(char*));

for (list = 0; list < m; list++)
改为
for (list = 0; list < n; list++)