Я новичок в Задаче C. Подробно я читаю о задаче c за последние три дня. Приведенный ниже метод состоит в том, чтобы генерировать простые числа до определенного упомянутого числа в соответствии с алгоритмом Seive of Erastosthenes. Я пытаюсь отладить программу, но когда-либо код приходит к строке
"if (product> size)"
следующий шаг немедленно приведет к
"для (j = 2; j <= размер; j ++)" </p>
Я не знаю, что не так с отладкой. Он переходит в разрыв, когда продукт больше, чем размер. Но когда условие ложно (product> size), почему оно не переходит к следующему, если условие то есть
if (массив [product-1]! = 1)
Нужно ли перекомпилировать код. Я использую xcode для отладки кода на Mac OS X 10.x
@ interface SeiveofErastosthenes: NSObject
{
int* array;
int size;
}
- (SeiveofErastosthenes *) initMe: (int) ssize;
- (void) РассчитатьPrimeNumbers;
- (недействительно) печать;
@ конец
- (void) РассчитатьPrimeNumbers
{
int product = 0;
int i = 0;
int j;
memset(array,0,size);
array[0]=0;
array[1]=2;
for(i = 1 ; i < size ; i++)
{
if(array[i] == 1)
continue;
array[i] = i+1;
for(j = 2; j <= size ; j++ )
{
product = (i+1) * j;
if(product > size)
{
break;
}
if(array[product-1] != 1)
{
array[product] == 1;
}
}
}
}