

Как исправить ошибку *** stack smashing detected ***: terminated
Вот мой код:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <locale.h>
int main(void)
{
setlocale(LC_ALL, "Rus");
srand(time(NULL));
int a,i,j,sum;
int o[10][4];
for (int i=10; i>=1; i--)
{
printf("Этаж %d: ",i);
for (j=1; j<=4; j++)
{
a=rand()%6;
printf("%d ",a);
o[i][j]=a;
}
j = 1;
printf("\n");
}
for (int i=10; i>=1; i--)
{
for (int j=1; j<=4; j++)
{
printf("%d ",o[i][j]);
}
}
printf("\n");
if (sum>=100)
{
printf("Всего жильцов: %d => прибавка положена!",sum);
}
if (sum<100)
{
printf("Всего жильцов: %d => прибавка не положена!",sum);
}
}
В языках С, С++ и многих других массивы индексируются с 0,а не с 1, как в Паскале. Выход за пределы массива ломает содержимое стека