标题:请问我这个静态链表哪里错了?(自行解决)
只看楼主
Linklist
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-13
 问题点数:0 回复次数:0 
请问我这个静态链表哪里错了?(自行解决)
我做了个链表,一共放了四个节点。。。。。一开始的代码编译后运行错误,经过反复思考,自行解决,修改了程序,一切正常,下面的程序是完美的:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef struct stu {
  int num;
  bool bo;
  struct stu *next;
}NODE;

int main (){
  NODE  a,b,c,d,*head,*p;
  a.num=1;
  b.num=2;
  c.num=3;
  d.num=4;
  head = &a;
  a.next=&b;
  b.next=&c;
  c.next=&d;
  d.next=NULL;
  p=head;
  do{
    if(p->num%2==0) p->bo=false; /*如果是偶数,布尔值为false*/
    else p->bo=true;  /*否则布尔值为true*/
    p=p->next;
  }while (p!=NULL);
/*下面打印,只打印布尔值为true的值*/
  p=head; /*----这一句是我一开始忽略的,它正是问题所在-----*/
  do {  
    if (p->bo) printf ("%d\n",p->num);
    else printf ("-----------\n");
    p=p->next;
  }while (p!=NULL);
}

总结:写链表要时刻注意指针所指的位置。

[[it] 本帖最后由 Linklist 于 2008-4-13 04:04 编辑 [/it]]
搜索更多相关主题的帖子: 链表 num 静态 next head 
2008-04-13 00:43



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




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

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