Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 矩阵中的最后一个数字是错误的_C_Matrix - Fatal编程技术网

C 矩阵中的最后一个数字是错误的

C 矩阵中的最后一个数字是错误的,c,matrix,C,Matrix,我是编程新手,我正在尝试用C语言做一些练习。 当我在所有矩阵槽中放入2时,最后一个返回5,而不是4 #包括 #包括 int main() { 国际、ac、bl、bc、cl、cc; int matrizA[5][3]、matrizB[5][3]、matrizC[5][3]; 对于(al=1;alC中的数组索引是基于0的。在所有数组赋值中,您以1开始,以n结束。您应该以0开始,以n-1结束 例如,在此代码部分中,您的数组被定义为包含[5][3]个元素,这些元素应使用索引[0-4][0-2]进行访问

我是编程新手,我正在尝试用C语言做一些练习。 当我在所有矩阵槽中放入2时,最后一个返回5,而不是4

#包括
#包括
int main()
{
国际、ac、bl、bc、cl、cc;
int matrizA[5][3]、matrizB[5][3]、matrizC[5][3];

对于(al=1;alC中的数组索引是基于
0
的。在所有数组赋值中,您以
1
开始,以
n
结束。您应该以
0
开始,以
n-1
结束

例如,在此代码部分中,您的数组被定义为包含[5][3]个元素,这些元素应使用索引[0-4][0-2]进行访问。但您正在使用[1-5][1-3]进行访问。
通过在数组拥有的内存之外写入,您正在调用

int matrizA[5][3]、matrizB[5][3]、matrizC[5][3];

对于(al=1;alC中的数组索引是基于
0
的。在所有数组赋值中,您以
1
开始,以
n
结束。您应该以
0
开始,以
n-1
结束

例如,在此代码部分中,您的数组被定义为包含[5][3]个元素,这些元素应使用索引[0-4][0-2]进行访问。但您正在使用[1-5][1-3]进行访问。
通过在数组拥有的内存之外写入,您正在调用

int matrizA[5][3]、matrizB[5][3]、matrizC[5][3];

对于(al=1;alIn C,数组索引从0开始,而不是1。因此,由5个元素组成的数组的有效索引是0、1、2、3和4,而不是5。请不要发布文本图片。将文本作为文本发布。翻到书本/教程中有关零基索引工作原理的部分。在这段代码中,数组边界几乎无处不在。在C中,数组索引es从0开始,而不是1。因此,由5个元素组成的数组的有效索引是0、1、2、3和4,而不是5。请不要发布文本图片。将文本作为文本发布。翻到书本/教程中有关基于零的索引工作原理的部分。在这段代码中,数组边界几乎无处不在。
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int al,ac,bl,bc,cl,cc;
    int matrizA[5][3], matrizB[5][3], matrizC[5][3];

    for ( al=1; al<6; al++ )
        for ( ac=1; ac<4; ac++ )
        {
            printf("MatrizA [%d] [%d] = ", al, ac);
            scanf("%d", &matrizA[al][ac]);
        }
    for ( bl=1; bl<6; bl++ )
        for ( bc=1; bc<4; bc++ )
        {
            printf("MatrizB [%d] [%d] = ", bl, bc);
            scanf("%d", &matrizB[bl][bc]);
        }
    for ( cl=1; cl<6; cl++ )
        for ( cc=1; cc<4; cc++ )
        {
            matrizC[cl][cc]=matrizA[cl][cc]+matrizB[cl][cc];
        }
    printf("MatrizC= \n [%d] [%d] [%d]\n [%d] [%d] [%d]\n [%d] [%d] [%d]\n [%d] [%d] [%d]\n [%d] [%d] [%d]", matrizC[1][1], matrizC[1][2], matrizC[1][3], matrizC[2][1], matrizC[2][2], matrizC[2][3], matrizC[3][1], matrizC[3][2], matrizC[3][3], matrizC[4][1], matrizC[4][2], matrizC[4][3], matrizC[5][1], matrizC[5][2], matrizC[5][3]);
    return(0);
}
int matrizA[5][3], matrizB[5][3], matrizC[5][3];
for ( al=1; al<6; al++ )
    for ( ac=1; ac<4; ac++ )
...
int matrizA[5][3], matrizB[5][3], matrizC[5][3];
for ( al=0; al<5; al++ )
    for ( ac=0; ac<3; ac++ )
...