请问到了这里接下来的是执行哪里是返回while进行
请帮忙检查以下的代码有没错误,此代码是抄书上的,不过我觉得有问题,请高手帮忙解答谢谢!! #define NULL 0 #define LEN sizeof(struct student) struct student { long num; int score; struct student*next; }; int n=0; struct student*creat(void) { struct student*head,*p1,*p2; head=NULL; p1=(struct student*)malloc(LEN);------分配到了一个长度为LEN的长度内存段 scanf("%d,%d",&p1->num,&p1->score);----输入数据假设 2,100 while(p1->num!=0)---成立 n=n+1;---1+1等于1 if(n==1)---成立 head=p1;----执行这一句 请问到了这里接下来的是执行哪里是返回while进行吗? else {p2->next=p2; printf("1\n"); p2=p1; p1=(struct student*)malloc(LEN); scanf("%ld,%d",&p1->num,&p1->score); } } p2->next=NULL; return(head); } main() { creat(); getch(); } |