| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:连表问题
只看楼主 加入收藏
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
 问题点数:0 回复次数:4 
连表问题

#define NULL 0 #define LEN sizeof(struct student) struct student { long num; struct student * next; }; int n; main() { struct student *head; struct student *p1,*p2,*p;

n=0;

p1=p2=(struct student *)malloc(LEN); scanf("%ld",&p1->num);/////// 这个地方为什么一定要输入数据呢? ?不输入成为一个空表也行啊? 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",&p1->num); }

p2->next=NULL;

if(head!=NULL); p=head; do {printf("%ld\n",p->num); p=p->next; }while(p!=NULL); getch();

}

[此贴子已经被作者于2005-10-10 17:58:21编辑过]

2005-10-10 17:39
本人已死
Rank: 1
等 级:新手上路
威 望:1
帖 子:183
专家分:0
注 册:2005-9-20
收藏
得分:0 
不输入数据给N的话,N的值会一直是你第一次输入时的数据,如果第一次给N输入非零数,那么就不会跳出while成为死循环

爸爸告诉我:女人喜欢有钱的男人;妈妈告诉我:女人喜欢有貌的男人。我翻翻钱包,又照照镜子,然后我哭了
2005-10-10 17:54
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
定一下  希望能得到帮助

2005-10-11 08:51
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
ding

2005-10-29 12:51
猪也聪明
Rank: 1
等 级:新手上路
帖 子:156
专家分:0
注 册:2005-5-16
收藏
得分:0 
以下是引用本人已死在2005-10-10 17:54:27的发言:
不输入数据给N的话,N的值会一直是你第一次输入时的数据,如果第一次给N输入非零数,那么就不会跳出while成为死循环

是这样的吗?while语句里面不是有输入语句吗,不会死循环的吧!我认为在while前面输入值只是为了初始话p->num的值而已,从而进入循环或不进入循环


虽然我没有翅膀,可是我希望飞的高点
2005-10-29 21:56
快速回复:连表问题
数据加载中...
 
   



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

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