我刚刚学链表 编了一个创建链表并输出的程序,思路没有错,可就是调不出来,帮忙看一下,先谢谢了!
#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; } } //输出链表 }
----------------解决方案--------------------------------------------------------
我刚刚学链表 编了一个创建链表并输出的程序,思路没有错,可就是调不出来,帮忙看一下,先谢谢了!
#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; } } //输出链表 }
看看红色的部分是不是有点问题,还有就是你写的太乱,函数写在外面比较好吧?
----------------解决方案--------------------------------------------------------