Я исправил твой код:
#include <stdio.h>
void printMatrix(int matrix[2][3])
{
int i = 0, j = 0;
for(i = 0 ; i < 2 ; i++)
{
for(j = 0 ; j < 3 ; j++)
{
printf("%03d ", matrix[i][j]);
}
printf("\n");
}
printf("\n");
}
int main(void)
{
int matrix[2][3] = {{1, 3, 4},
{2, 0, 1}};
printMatrix(matrix);
return 0;
}
Код не надежный и красивый. В основном я исправил твой стиль кодирования.
Будьте осторожны, последний «элемент» в следующем цикле «for» должен увеличивать не i, а j!
for(j=0; j<sizeof matrix[0]/sizeof matrix[0][0];i++){
Он должен быть заменен (или, что лучше, моим кодом выше ...)
for(j=0; j<sizeof matrix[0]/sizeof matrix[0][0];j++){
РЕДАКТИРОВАТЬ:
Вы можете получить размер вашей матрицы:
leni = sizeof matrix / sizeof matrix[0][0];
размер матрицы -> 8
размер матрицы [0] [0] -> 4
лени -> 2
lenj = sizeof matrix[0] / sizeof matrix[0][0]
размер матрицы [0] -> 12
размер матрицы [0] [0] -> 4
lenj -> 3
#include <stdio.h>
void printMatrix(int matrix[][3])
{
int i = 0, j = 0, leni = 0, lenj = 0;
leni = sizeof matrix / sizeof matrix[0][0];
lenj = sizeof matrix[0] / sizeof matrix[0][0];
for(i = 0 ; i < leni ; i++)
{
for(j = 0 ; j < lenj ; j++)
{
printf("%03d ", matrix[i][j]);
}
printf("\n");
}
printf("\n");
}
int main(void)
{
int matrix[2][3] = {{1, 3, 4},
{2, 0, 1}};
printMatrix(matrix);
return 0;
}