c语言链表遍历,输出乱码

decc++大佬来看看吧,我哪错了
img

img

修改如下,供参考:

#include<stdio.h>
#include<stdlib.h>

typedef struct data{
       int    value;
       struct data *next;
}Node;

int main()
{
     Node *a = (Node*)malloc(sizeof(Node));
     Node *p = a;
     int  i=0;
     while(2>i){
           Node*q = (Node*)malloc(sizeof(Node));
           scanf("%d",&q->value);
           q->next = NULL;
           p->next = q;
           p = p->next;
           i++;
     }
     p = a->next;
     while(p){
           printf("%d ",p->value);
           p = p->next;
     }
     
     return 0;
}