Этот код
char mappa[RIGHE][COLONNE] = {" "}; // blank, as an empty chess board
инициализирует первый элемент массива, т.е. mappa[0]
, строкой " "
. Это заставляет верхний левый элемент содержать ' '
(пробел), а оставшаяся строка заполняется символами NUL, '\0'
. Все остальные строки инициализируются нулями.
Сравните со следующим примером:
char mappa[RIGHE][COLONNE] = {"Hello","world!"};
В этом случае ваш вывод может быть (вплоть до размещения D
):
[ H ][ e ][ l ][ l ][ o ][ ][ ][ ][ ][ ]
[ w ][ o ][ r ][ l ][ d ][ ! ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ D ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
На самом деле вы хотите заполнить весь массив пробелами, например:
char mappa[RIGHE][COLONNE];
memset(mappa, ' ', sizeof mappa);
, где memset
- функция из заголовка <string.h>
.