C:质数分解

C: prime factoring

如何使用下面的 IsPrime 方法测试素数?我似乎无法让 printf 在我的 IsPrime 方法中工作,并且没有抛出任何错误。

#include <stdlib.h>
#include <stdio.h>
int IsPrime(unsigned int number) {
   if (number <= 1) {
      return 0; // zero and one are not prime
      printf("zero and one are not prime.");
      }
   unsigned int i;
   for (i=2; i*i<=number; i++) {
      if (number % i == 0) {
         return 0;
         printf("not a prime.");
      }
   }
   return 1;
   printf("You've found a prime!");
   }

int main(void) {
   int a;

   printf("Please input an integer value: ");
   scanf("%d", &a);
   if(a >= 1 && a <= 1000) {
      printf("You entered: %d\n", a);
      IsPrime(a);
   }
   else {
      printf("Error! Please enter a value between 1 and 1000.");
   }
}

return-ing 从 printf

之前的函数

您在 return; 之后写了 printf 语句很容易解决,只需交换这两个指令即可。