当前位置: 代码迷 >> C语言 >> [求助]
  详细解决方案

[求助]

热度:360   发布时间:2004-10-12 00:39:00.0
[求助]

我刚刚学链表 编了一个创建链表并输出的程序,思路没有错,可就是调不出来,帮忙看一下,先谢谢了!

#include<stdio.h> #include<malloc.h> #define NULL 0 typedef struct Lnode{ int data; struct Lnode *next; }Lnode,*linklist; main(){ void creat(); void print(); linklist head; linklist pre; head=(Lnode *)malloc(sizeof(Lnode)); pre=head; pre->data=0; pre->next=NULL; //创建头节点 creat(pre); print(pre); void creat(linklist pre){ linklist new; int i,ch,x; for(i=0;(ch=getchar())!='\n';i++) {new=(linklist)malloc(sizeof(Lnode)); new->data=scanf("%d",x); pre->next=new; pre=new; } pre->next=NULL; return 1; } //建立链表

void print(linklist p){ linklist pre=p; while(pre) {printf("%2d",pre->data); pre=pre->next; } } //输出链表 }


----------------解决方案--------------------------------------------------------
以下是引用blackblue在2004-10-12 00:39:04的发言:

我刚刚学链表 编了一个创建链表并输出的程序,思路没有错,可就是调不出来,帮忙看一下,先谢谢了!

#include<stdio.h> #include<malloc.h> #define NULL 0 typedef struct Lnode{ int data; struct Lnode *next; }Lnode,*linklist; main(){ void creat(); void print(); linklist head; linklist pre; head=(Lnode *)malloc(sizeof(Lnode)); pre=head; pre->data=0; pre->next=NULL; //创建头节点 creat(pre); print(pre); void creat(linklist pre){ linklist new; int i,ch,x; for(i=0;(ch=getchar())!='\n';i++) {new=(linklist)malloc(sizeof(Lnode)); new->data=scanf("%d",x); pre->next=new; pre=new; } pre->next=NULL; return 1; } //建立链表

void print(linklist p){ linklist pre=p; while(pre) {printf("%2d",pre->data); pre=pre->next; } } //输出链表 }

看看红色的部分是不是有点问题,还有就是你写的太乱,函数写在外面比较好吧?


----------------解决方案--------------------------------------------------------
  相关解决方案