标题:链表问题有点困惑~~~~~~~~
取消只看楼主
xx342508809
Rank: 2
等 级:论坛游民
帖 子:89
专家分:51
注 册:2010-7-28
结帖率:100%
已结贴  问题点数:60 回复次数:1 
链表问题有点困惑~~~~~~~~
#include<stdio.h>
#include<stdlib.h>
#define NULL ((void *)0)
#define TYPE struct stu
#define LEN sizeof (struct stu)
struct stu
{
    int id;
    char name[20];
    float grade;
    struct stu *next;
};
TYPE *creat(int n)                /*创造n个结点的指针函数*/
{
   struct stu *head,*pf,*pb;
   int i;
   printf("Please input id,name,grade\n");
   for(i=0;i<n;i++)
   {   
      pb=(TYPE *) malloc(LEN);
      scanf("%d",&pb->id);
      gets(pb->name);
      scanf("%f",&pb->grade);
      if(i==0)
          pf=head=pb;
      else
          pf->next=pb;
      pb->next=NULL;为什么要把下一结点的地址赋空值?~~
      pf=pb;
   }
   return(head);
}
void print(TYPE *head)    /*输出函数*/
{
    printf("please input id,name,grade\n");
    while(head!=NULL)
    {
        printf("%4d%8s%8.1f\n",head->id,head->name,head->grade);
        head=head->next;
    }
}
void main()
{
    int n;
    TYPE *head;
    printf("Please input n\n");
    scanf("%d",&n);
    head=creat(n);
    print(head);
}
黑体部分为什么改成#define NULL 0我的系统是XP的,装的是VC6.0就报错了啊~~
搜索更多相关主题的帖子: 链表 困惑 
2010-10-24 11:36
xx342508809
Rank: 2
等 级:论坛游民
帖 子:89
专家分:51
注 册:2010-7-28
得分:0 
看来书上错误可不少啊~~~黑体部分是我在VC的include文件找出来的~~
#define NULL 0是书上的~~~
2010-10-28 11:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-323815-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.185209 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved