//链表的基本设置
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
typedef struct LNode{
int data;
struct LNode*next;
}LinkNode; //单链表的结构体
//尾插法整体创建单链表函数
void CreatLinkNode(LinkNode*L,int n){
LinkNode*r;
L = (LinkNode*)malloc(sizeof(LinkNode));
L->next = NULL;
r = L; //尾指针先指向头指针
int i;
LinkNode*s;
printf("请输入链表内的元素:\n");
for(i=1;i<=n;i++){
s= (LinkNode*)malloc(sizeof(LinkNode));
scanf("%d",&s->data);
r->next = s;
r=s;
}
r->next =NULL;
}
//输出链表函数部分
void DisPlayLinkNode(LinkNode*L){
LinkNode*p;
p = L->next;
printf("%d\t",p->data);
while(p!=NULL){
printf("%d\t",p->data);
p = p->next;
}
}
//主函数部分
int main(){
int n;
LinkNode L;
printf("请输入需要创建多少个结点:\n");
scanf("%d",&n);
CreatLinkNode(&L,n);
DisPlayLinkNode(&L);
return 0;
}
错误结果: