建立链表里面开辟新的单元为什么可以连等?
程序代码:
#include<stdio.h> #include<malloc.h> #define LEN sizeof(struct Student) struct Student { long num; float score; struct Student *next; }; int n; struct Student *creat() { struct Student *head; struct Student *p1,*p2; n=0; p1=p2=(struct Student *)malloc(LEN);//这个地方,和一般定义变量有什么不同?// scanf("%ld,%f",&p1->num,&p1->score); head=NULL; while(p1->num!=0) { n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=(struct Student *)malloc(LEN); scanf("%ld,%f",&p1->num,&p1->score); } p2->next=NULL; return(head); } int a=b=1这个样子不是错的么,为什么上面那个p1=p2=是对的
[ 本帖最后由 飞跃的乌龟 于 2012-12-24 13:32 编辑 ]