.魚肉
2022-06-08 16:58
采纳率: 100%
浏览 34

C语言动态链表建立和输出问问题

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);
}

输出链表时,只是循环输出第一个节点的值。请问哪里出问题了?

2条回答 默认 最新

相关推荐 更多相似问题