Не могу вывести двухмерный массив. Пожалуйста, помогите
Столкнулся с проблемой вывода массива. Задача была заполнить массив числами, которые уменьшаються по дигонали и еденицами по углам, а всё остальное пустотой, но вот проблема массив то правильный но когда хочу вывести через 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