Не могу вывести двухмерный массив. Пожалуйста, помогите

Столкнулся с проблемой вывода массива. Задача была заполнить массив числами, которые уменьшаються по дигонали и еденицами по углам, а всё остальное пустотой, но вот проблема массив то правильный но когда хочу вывести через printf_s("%s", array[j][i]); выдаёт ошибку Unhandled exception at 0x7A6028BC (ucrtbased.dll) in Project1.exe: 0xC0000005: Access violation reading location 0x0000000A.

#include <stdio.h>
#include <stdlib.h>

int main() {
    int n = 10;
    char array[10][10];
    int i, j, k = 0;



    for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++) {
            array[i][j] = " ";
        }
    }

    array[0][9] = 1;
    array[9][0] = 1;


    for (i = 0; i < 10; i++) {
        array[i][i] = n;
        n--;
    }


    for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++) {
            printf_s("%s", array[j][i]);
        }
        printf_s("\n", "");
    }

}

Ответы (1 шт):

Автор решения: toiepp

Во первых у вас в строке

array[i][j] = " ";

где arr у вас является массивом типов char, а вы пихаете туда строку. Также в строке

printf_s("%s", array[j][i]);

форматирование должно происходить с элеметом char, поэтому вместо %s укажите %c.

А в строке

printf_s("\n", "");

вообще убериве втророй аргумент.

Также замените все printf_s на printf

→ Ссылка