改成下面这样试试:
#include
#include
typedef struct LNode
{
int data;
struct LNode *next;
}Lnode,*LinkList;
void CreatList(LinkList *p1,int n)
{
int i,data1;
LinkList p2,*p3;
p3=p1;
p2=(*p1);
for (i = 0;i < n;i++)
{
printf("请输入第%d个数据:",i+1);//加上这句可以让程序更人性化
scanf("%d",&data1);
p2->data=data1;
if (i!=0)
p2->next=(*p3);
(*p3)=p2;
p2=(LinkList)malloc(sizeof(Lnode));
}
*p1=(*p3);
}
int main()
{
LinkList pp;
int n;
printf("请输入要输入的数据个数:");//加上这句可以让程序更人性化
scanf("%d",&n);
pp=(LinkList)malloc(sizeof(Lnode));
pp->next=NULL;
CreatList(&pp,n);
//pp=pp->next;//加上这句会少掉一个变量输出
printf("输出倒序为:\n");
while(pp!=NULL)
{
printf("%d\n",pp->data);
pp=pp->next;
}
return 0;
}