首页 > 解决方案 > 打印二维数组

问题描述

当我在 main() 中调用此函数并将转置矩阵作为参数传递时,它会抛出错误的值。

void mostrarMatriz(int matriz[filas][columnas], int filas, int columnas){
    int i, j;

    for(i = 0; i < filas; i++){
        for(j = 0; j < columnas; j++){
            printf("[%d]", matriz[i][j]);
        }
        printf("\n");
    }
}

标签: cmatrixprintftranspose

解决方案


我在打印功能中替换了 i,j

#include <stdio.h>

#define filas 3
#define columnas 3

void mostrarMatriz(int matriz[filas][columnas]){
    int i, j;

    for(i = 0; i < filas; i++){
        for(j = 0; j < columnas; j++){
            printf("[%d]", matriz[j][i]);
        }
        printf("\n");
    }
}

int main()
{
    int matrix[filas][columns];
    int i,j;
    int num=1;
    for(i=0;i<filas;i++)
    {
        for(j=0;j<columnas;j++)
        {
            matrix[i][j]=num;
            num=num+1;
        }
    }
    mostrarMatriz(matrix);

    return 0;
}

这很好用——你可以在这里查看: https ://onlinegdb.com/HkHcNqOVv

输出:

[1][4][7]
[2][5][8]
[3][6][9]

推荐阅读