当前位置: 代码迷 >> C语言 >> 大家看看这是什么原因啊?
  详细解决方案

大家看看这是什么原因啊?

热度:137   发布时间:2005-05-11 14:58:00.0
大家看看这是什么原因啊?

编写了一个创建链表输出链表的程序,却不能看到结果, 但是把其中 float score改成int型就可以了啊?不知道为什么会这样啊? #include "stdio.h" #include "conio.h" #include "malloc.h"

#define NULL 0 #define LEN sizeof(struct student)

struct student {long num; float score; struct student*next; }; int n;

struct student *creat(void) { 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); }

void print(struct student*head) { struct student*p; printf("\nNow,These %d records are:\n",n); p=head; if(head!=NULL) do {printf("%ld,%f\n",p->num,p->score); p=p->next; }while(p!=NULL);

}

void main() { struct student*head;

printf("please input records:\n"); head=creat(); print(head); getch();}

搜索更多相关的解决方案: include  

----------------解决方案--------------------------------------------------------
因为  main  ()  中没有定义

float  数据类型啊,未连接浮点库……

增加一个: float a,*p;
p=&a;

就OK了!
----------------解决方案--------------------------------------------------------
多谢啊,还有其他的方法嘛?^_^
----------------解决方案--------------------------------------------------------
  相关解决方案