单向链表的输出问题
代码:/* 使用学生信息动态创建一个单链表 */
#include <stdio.h>
#include <malloc.h>
struct stuNode
{
int date;
struct NumNode*next;
};
main()
{
int i=0,j=0,k=0;
struct stuNode *head;
struct stuNode *p;
struct stuNode *q;
printf("\t\t实例087(练习A) 使用学生信息动态创建一个单链表\n\n");
printf("请输入要输入的学生的人数:\n");
scanf("%d",&i);
for(k=i;k>=1;--k)
{
printf("请输入学生的学号:\n");
p=(struct stuNode*)malloc(sizeof(struct stuNode)); //请求一个动态的分配空间
scanf("%d",&p->date);
p->next=NULL;
if(j==0)
head=p;
else
q->next=p;
q=p;
}
printf("输入的学生的学号是:\n");
printf("%d\n",q->date);
q=q->next;
}
学号能输入进去 但是输出的时候只有输出最后一个输入的值 ,现在我想输出全部的输入值要怎么改写printf语句?