| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 576 人关注过本帖
标题:[求助]程序求助,大家闺秀来看看这程序错在哪啊
只看楼主 加入收藏
CHEN5354520
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-4-18
收藏
 问题点数:0 回复次数:3 
[求助]程序求助,大家闺秀来看看这程序错在哪啊

本程序的功能是建立一个链表,输入N个元素,把元素逆输出;
我调试了,没有错误,可是运行后弹出"应用程序错误";
这是为什么啊?
请高手指教
并把原因告诉我


#include<stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define ElemType int
#define NULL 0

typedef struct LNode{
ElemType date;
struct LNode *next;
}LNode,*linklist;

linklist createlist()
{ linklist head;
linklist p;
int n,i;
head=p=(linklist)malloc(sizeof(LNode));
p->next;
if(!p){exit(0);}
printf("please input n=");
scanf("%d",&n);
for(i=n;i>0;i--){
p=(linklist)malloc(sizeof(LNode));
p->next;
if(!p){exit(0);}
printf("input:");
scanf("%d",&p->date);
p->next=head->next;
head->next=p;
}
return(head);
}

void print(linklist head)
{

linklist p;
for(p=head->next;p->next!=NULL;p=p->next){
printf("%d ",p->date);

}
}

void main()
{
linklist head;
linklist p;
printf("输入元素:\n");
head=createlist();
printf("输出:\n");
p=head;
print(p);
}

搜索更多相关主题的帖子: 大家闺秀 
2007-04-25 21:29
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
linklist createlist()
{ linklist head;
linklist p;
int n,i;
head=p=(linklist)malloc(sizeof(LNode));
if(!p){exit(0);}
printf("please input n=");
scanf("%d",&n);
for(i=n;i>0;i--){
p=(linklist)malloc(sizeof(LNode));
if(!p){exit(0);}
printf("input:");
scanf("%d",&p->date);
p->next=head->next;
head->next=p;
}
return(head);
}
自己对照看一下.删了p->next.无效操作,要这个做什么.

倚天照海花无数,流水高山心自知。
2007-04-25 23:51
qizihan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-4-24
收藏
得分:0 
/*本程序原来目的是建立链表,然后
按输入顺序打印出链表的数据元素,
然而打印结果却是按输入顺序的逆顺序输出。
相当于实现了链表的逆置。
*/
#include<stdio.h>
#include<malloc.h>
typedef int DataType;
typedef struct node{
DataType data;
struct node *next;
}ListNode;
typedef ListNode *LinkList;
ListNode *p;
LinkList CreatList(void)//建立链表
{
char ch;
LinkList head;
ListNode *p,*q;
head=NULL;//初始化为空
ch=getchar();
while(ch!='\n')
{
p=(ListNode*)malloc(sizeof(ListNode));//分配空间
p->data=ch;//数据域赋值
p->next=head;//指定后继指针
head=p;//*head指针指到新插入的点上
ch=getchar();//继续由输入终端输入数据
}
p=head;
printf("链表建立完毕\n\n\n");
return(head);
}
void PrintList(LinkList head)//打印链表
{
ListNode *p;
printf("链表记录:");
p=head;//把 *head赋给 *p
if(head!=NULL)
do
{ putchar(p->data);
//printf("%d ",p->data);
p=p->next; //继续向下查找
}while(p!=NULL);
printf("\n\n");
}
main()
{ char ch;
ListNode *head;
loop:printf("-------------------\n");
printf("程序功能:建立链表\n");
printf("--------------------\n");
printf("输入数据元素:");
head=CreatList();
PrintList(head);
printf("退出,按q键\n按任意键,继续……\n\n");
ch=getchar();
if(ch=='q')exit(1);
//else
goto loop;
return 0;
//getchar();
}

2007-04-27 17:37
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
我不是大家闺秀,楼上两位大家闺秀啊,这论坛第一次见到大家闺秀

Viva,espana!
2007-04-28 19:23
快速回复:[求助]程序求助,大家闺秀来看看这程序错在哪啊
数据加载中...
 
   



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

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