Add missing braces in for-loop
[eleutheria.git] / homework / 2darray.c
blobed70a18fcf83a72b629a3bffffbf063ae7a53ca1
1 #include <stdio.h>
2 #include <stdlib.h>
4 /* Incorrect */
5 void foo1(int **mat, int rows, int cols)
7 int i, j;
9 for (i = 0; i < rows; i++) {
10 for (j = 0; j < cols; j++)
11 printf("%d ", mat[i][j]);
12 printf("\n");
16 /* Correct */
17 void foo2(int **mat, int rows, int cols)
19 int i, j;
20 int **aux;
22 aux = malloc(rows * sizeof(int *));
23 if (aux == NULL) {
24 perror("malloc");
25 exit(EXIT_FAILURE);
28 for (i = 0; i < rows; i++) {
29 aux[i] = (int *)mat + cols * i;
30 for (j = 0; j < cols; j++)
31 printf("%d ", aux[i][j]);
32 printf("\n");
35 free(aux);
38 int main(void)
40 int mat[4][3] = { { 1, 2, 3},
41 { 4, 5, 6},
42 { 7, 8, 9},
43 {10, 11, 12} };
45 foo2((int **)&mat[0][0], 4, 3);
46 foo1((int **)&mat[0][0], 4, 3);
48 return EXIT_SUCCESS;