| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1336 人关注过本帖
标题:[求助]程序执行异常!!菜鸟问题-链表的创建及显示问题
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
应该不会啊.

void Print()
{
struct stu *p=head;
while(p!=NULL)
{
printf("%s\n",p->name);
p=p->next;
}
}

倚天照海花无数,流水高山心自知。
2006-11-05 17:48
siyuan_gc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-5
收藏
得分:0 
以下是引用nuciewth在2006-11-5 17:48:20的发言:
应该不会啊.

void Print()
{
struct stu *p=head;
while(p!=NULL)
{
printf("%s\n",p->name);
p=p->next;
}
}


确实有问题哦,大大
输入num=3(3个结点的链表),结点依次为1,2,3
但显示是1,3,2
颠倒了哦

附图:

http://www.photo-host.org/img/022809264102162921517.gif

完整程序段如下:#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct stu)
#define NULL 0
struct stu
{char name[10];
struct stu *next;
};
struct stu *head;

void print()
{
struct stu *p=head;
printf("输入的链表为:\n");
while(p!=NULL)
{
printf("%s\n",p->name);
p=p->next;
}
}


void *creat()
{
struct stu *p;
int n;
int num;
printf("请输入链表的结点个数:num=");
scanf("%d",&num);
printf("这是一个含有%d个结点的链表\n",num);
printf("请输入链表结点:name=\n");
head=(struct stu *)malloc(LEN);
head->next=NULL;
scanf("%s",&(head->name));
for(n=0;n<num-1;n++)
{
p=(struct stu *)malloc(LEN);
scanf("%s",&(p->name));
p->next=head->next; //头插法
head->next=p;
}
return 0;
}

main()
{creat();
print();
return 0;
}

[此贴子已经被作者于2006-11-5 19:46:25编辑过]

2006-11-05 19:42
快速回复:[求助]程序执行异常!!菜鸟问题-链表的创建及显示问题
数据加载中...
 
   



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

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