c语言内存分配学习之查找质数

#include "stdio.h"
#include "stdlib.h"
#include "stdbool.h"
int main(void){
  unsigned long long *pPrimes = NULL;
  unsigned long long trial =0 ;
  bool found =false;
  int total = 0;
  int count = 0;
  int i =1;
  int j =0;
  printf("输入查找多少个质数: ");
  scanf("%d",&total);
  total = total<4?4:total;
     pPrimes = (unsigned long long*)malloc(total*sizeof(unsigned long long));
  if(!pPrimes){
        printf("没有足够的内存使用!!!");
        return 1;
  }
  *pPrimes = 2ULL;
  *(pPrimes+1) = 3ULL;
  *(pPrimes+2) =5ULL;
  count = 3;
  trial = 5ULL;
      while(count             trial +=2ULL;
            for(i;i                 if(!(found=(trial%*(pPrimes+i)))){
                    break;
                }
            }
            if(found)
                *(pPrimes +count++)=trial;
      }

      for(j;j         printf("%12llu",*(pPrimes+j));
        if(!((j+1)%5)){
            printf("\n");
        }
      }

      printf("\n");


     //释放占用的内存
      free(pPrimes);
      pPrimes =NULL;
      return 0;
}

你可能感兴趣的:(c语言内存分配学习之查找质数)