Следующий код является частью моей определенной пользователем функции в с«Аварийное завершение программы» отображается на выполнение программы гр
void genprime(long int m,long int n)
{
long int j,k,p[10000]={0},c,c1,c2,r;
int flag=0;
}
Функция содержит логику для создания primes.I объявлены все переменные типа как long int, поскольку это было необходимо для большого диапазона. Я получаю аномальное сообщение о завершении программы при выполнении. И когда я объявляю все как int, он печатает значения, но только для определенного диапазона. Пожалуйста, помогите, чтобы это можно было решить. Спасибо заранее
Код, который вы показываете, не может быть поврежден, используйте отладчик, чтобы узнать, где произошел сбой. –
10000 длинных ints на 64-битной машине составляет 80k. Это не так много памяти в целом, но это может быть больше, чем то, что доступно для распределения стека. Переместите 'p' в статику или выделите ее с помощью' malloc() ', и это приведет к созданию более разумного размера стека. –