创建一个链表并输入2--20数据,然后输出。
以下程序为何不能得到正确结果。
#include "stdio.h"
main ()
{
struct sushu
{
int num;
struct sushu *next;
};
struct sushu *head, *p;
int i;
for (i=2; i<=20; i++)
{
p= (struct sushu *) malloc (sizeof (struct sushu));
p->num=i;
if (i==2)
{
head=p;
p++;
}
else
{
(--p)->next=p;
p++;
}
}
for (i=2; i<=20; i++)
{
printf ("%d\t", head->num);
head++;
}
getch ();
}