How to initialize 2D array with one value in C

2 Answers

0 votes
#include <stdio.h>

int main(void)
{
    int arr[4][3] = { 17 };

    int rows = (sizeof(arr) / sizeof(arr[0]));
    int cols = (sizeof(arr) / sizeof(arr[0][0])) / rows;

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%3d", arr[i][j]);
        }
        printf("\n");
    }

    return 0;
}



/*
run:

  17  0  0
   0  0  0
   0  0  0
   0  0  0

*/

 



answered Apr 24, 2023 by avibootz
0 votes
#include <stdio.h>

int main(void)
{
    int arr[4][3] = { { 0 },
                      { 0, 18 } };

    int rows = (sizeof(arr) / sizeof(arr[0]));
    int cols = (sizeof(arr) / sizeof(arr[0][0])) / rows;

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%3d", arr[i][j]);
        }
        printf("\n");
    }

    return 0;
}



/*
run:

  0  0  0
  0 18  0
  0  0  0
  0  0  0

*/

 



answered Apr 24, 2023 by avibootz
...