我正在尝试使用指针指针创建一个二维数组并撞墙。我尝试扫描值以存储在第一个矩阵(第38行)时,我的程序崩溃。我想在[{1}}和m1[i][j]
地址中存储一个值吗?
我提供了以下代码(直至崩溃)。这里发生了什么?为什么在矩阵1的输入中扫描时会崩溃?
m1[i][j] == *(*m1+i)+j
答案 0 :(得分:1)
这条线不对:
scanf("%lf\t", *(*(m1+i)+j)); //Scanning input
*(*(m1+i)+j)
的类型为double
,而不是double*
,这是scanf
所需的内容。
您需要使用
scanf("%lf\t", *(m1+i)+j); //Scanning input
或更简单的形式:
scanf("%lf\t", &m1[i][j]); //Scanning input
您在其他循环中有类似的错误。