请问大家错在哪里,,
是用来求1000以内素数的 谢谢!
#include<stdio.h>
#include<stdlib.h>
typedef struct PRIME_LINK
{
int prime;
struct PRIME_LINK* next;
}su;
int panduan(int a)
{
int i;
for(i=2;i<a/2;i++)
{
if(a%i==0) return 0;
}
return 1;
}
int main()
{
int i,n;
su* p1,*p2,*head;
p2=(su*)malloc(sizeof(su));
for(i=2,n=0;i<1000;i++)
{
if(i==2||i==3||panduan(i)==1)
{
p1=(su*)malloc(sizeof(su));
p1->prime=i;
if(n==0) head=p1;
else p2->next=p1;
p2=p1;
n++;
}
}
for(i=0;i<=n;i++)
{
printf("%d ",(head+i)->prime);
}
}