Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как исправить ошибку *** stack smashing detected ***: terminated

Владимира Абрамова Ученик (94), закрыт 2 года назад
Вот мой код:

#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);
}
}
Лучший ответ
Федор Новиков Искусственный Интеллект (361485) 2 года назад
В языках С, С++ и многих других массивы индексируются с 0,а не с 1, как в Паскале. Выход за пределы массива ломает содержимое стека
Владимира АбрамоваУченик (94) 2 года назад
Двумерный массив разве не начинается с 1?
Федор Новиков Искусственный Интеллект (361485) Владимира Абрамова, от размерности не зависит. int o[10][4] - элементы от o[0][0] до o[9][3]
Άηϑρέΰ ҂Искусственный Интеллект (180009) 2 года назад
как бы в паскале индексация идет хоть от 0, хоть от 1 хоть с энного
Peer-2-PeerМудрец (16178) 2 года назад
Не понял!! Где задаётся и меняется значение переменной sum?

Что-то стёрлось?
Федор Новиков Искусственный Интеллект (361485) Peer-2-Peer, похоже, что про суммирование забыли. Но вопрос был про развал стека
Остальные ответы
Похожие вопросы