#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
typedef struct Node {
int data;
struct Node* next;
}Node, * LinkList;
void InitList(LinkList L)
{
L = NULL;
printf("%p\n", L);
}
int main()
{
LinkList L;
InitList(&L);
printf("%p\n", &L);
int x = 0;
scanf("%d", &x);
while(x != 9999)
{
//入栈
scanf("%d", &x);
}
return 0;
}
int main()
{
LinkList L = NULL, p, q; //
InitList(&L);
printf("%p\n", L);
int x = 0;
scanf("%d", &x);
while (x != 9999)
{
//入栈
p = (LinkList)malloc(sizeof(Node));
p->data = x;
p->next = NULL;
if (L == NULL)
L = p;
else
q->next = p;
q = p;
scanf("%d", &x);
}
p = L;
while (p)
{
printf("%d ", p->data);
p = p->next;
}
return 0;
}
修改如下,供参考:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h> //修改
#include <string.h>
#include <stdbool.h>
typedef struct Node {
int data;
struct Node* next;
}Node, * LinkList;
void InitList(LinkList* L) //修改
{
(*L) = NULL; //修改
printf("%p\n",(*L)); //修改
}
int main()
{
LinkList L, p;
InitList(&L);
printf("%p\n", L); //("%p\n", &L); 修改
int x = 0;
scanf("%d", &x);
while (x != 9999)
{
//入栈
p = (LinkList)malloc(sizeof(Node)); //修改
p->next = NULL;
p->data = x;
p->next = L;
L = p;
scanf("%d", &x);
}
p = L; //修改
while (p) {
printf("%d ", p->data);
p = p->next;
}
return 0;
}