[C] Linux下sbrk()和brk()的使用方法(判断素数,并且输出) →→→→→进入此内容的聊天室

来自 , 2020-07-28, 写在 C, 查看 108 次.
URL http://www.code666.cn/view/7b66b4fd
  1. #include<stdio.h>
  2. #include<unistd.h>
  3. #include<math.h>
  4. int IsPrimer(int a)
  5. {
  6.   int i;
  7.   int m=sqrt(a);
  8.   for(i=2;i<=m;i++)
  9.   {
  10.       if(a%i==0)
  11.         return 1;
  12.   }
  13.   return 0;
  14. }
  15.  
  16. main()
  17. {
  18.   int i=2;
  19.   int b;
  20.   int *r;
  21.   int *p;
  22.   p=sbrk(0);
  23.   r=p;
  24.   for(;i<100;i++)
  25.   {
  26.     b=IsPrimer(i);
  27.     if(b==0)
  28.     {
  29.       brk(r+1);
  30.       *r=i;
  31.       r=sbrk(0);
  32.     }
  33.   }
  34.   r=p;
  35.   while(r!=sbrk(0))
  36.   {
  37.     printf("%d\n",*r);
  38.     r++;
  39.   }
  40.   brk(p);//释放空间
  41. }
  42.  

回复 "Linux下sbrk()和brk()的使用方法(判断素数,并且输出)"

这儿你可以回复上面这条便签

captcha