C语言动态链表问题
建立一个链表,数据值是从1到13;
#include<stdio.h>
#include<stdlib.h>
#define N 13
struct Quan{
int num;
struct Quan *next;
}*p;
int main(){
struct Quan *creat(void);
void find(struct Quan *head);
int i;
p=creat();
for(i=0;i<N;i++){
p->next;
printf("%d,",p->num);
}
return 0;
}
struct Quan *creat(void){
int i;
struct Quan *head=NULL,*p1,*p2;
p1=p2=(struct Quan *)malloc(sizeof(struct Quan));
printf("malloc=%d\n",p1);
head=p1;
for(i=0;i<N;i++){
p1->num=i+1;
p1=(struct Quan *)malloc(sizeof(struct Quan));
p2->next=p1;
p2=p1;
}
p1->next=NULL;
return (head);
}
输出链表时,只是循环输出第一个节点的值。请问哪里出问题了?