Я пытаюсь создать программу, которая выводит список простых чисел с заданным входным значением n.
Функция SieveEratosthenes, которую я сделал: - генерирует список простых чисел по первым n целым числам - создает хранилище для списка сгенерированных простых чисел - возвращает количество сгенерированных простых чисел.
Вот код в моей основной функции:
int main(){
int n, i;
int *primes;
printf("Number that needs to be prime factorized: ");
scanf("%d", &n);
int num_primes;
num_primes = SieveEratosthenes(n, &primes);
printf("Generated a list of %d primes\n", num_primes);
printf("\n");
for (i = 0; i <= sizeof(num_primes) + 1; i++){
printf("%d", *primes++);
}
printf("\n");
return 0;
}
Скажем, n = 20; Мой вывод:
'Сгенерировал список из 8 простых чисел
2 3 5 7 11 13'
Когда мой желаемый результат должен быть «2 3 5 7 11 13 17 19»
Моя функция сита работает правильно, но я не могу распечатать весь список простых чисел в своей основной функции.
Любая помощь приветствуется. Спасибо!
primes[i]
вместо*primes++
. Таким образом вы сохраняете указатель на исходный массив. - person Benesh   schedule 11.03.2014