| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 262 人关注过本帖
标题:关于链表的小程序,问下有哪些错误??新手求教。
只看楼主 加入收藏
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
结帖率:69.23%
收藏
 问题点数:0 回复次数:3 
关于链表的小程序,问下有哪些错误??新手求教。
#include<stdio.h>
#include<malloc.h>

struct LNode{
    int data;
    struct LNode*next;
};

struct LNode *creat(int n){
    int i;
    struct LNode *head,*p1,*p2;
    int a;
    head=NULL;
    for(i=1;i<n;i++){
        p1=(struct *LNode)malloc(sizeof(struct LNode));
        printf("请输入链表第%d个数",i);
        scanf("%d",&a);
        p1->data=a;
        if(head==NULL)
        {
            head=p1;
            p2=p1;
        }
        else{
            p2->next=p1;
            p2=p1;
        }
        p2->next=NULL;
    }
    return head;
}
void main(){
    int n;
    struct LNode *q;
    printf("请输入链表长度");
    scanf("%d",&n);
    q=creat(n);
    printf("链表中的数据");
    while(q){
        printf("%d",q->data);
        q=q->next;
    }
}
搜索更多相关主题的帖子: include 
2014-12-19 12:01
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
for(i=1;i<=n;i++){
        p1=(struct LNode*)malloc(sizeof(struct LNode));

试试
2014-12-21 10:28
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 2楼 ouyangshit
for(i=1;i<=n;i++){
        p1=(struct LNode*)malloc(sizeof(struct LNode));
2014-12-21 10:28
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
单链表依次增加节点并录入数据...
程序代码:
#include<stdio.h>
#include<stdlib.h>

struct LNode {
    int data;
    struct LNode *next;
};

struct LNode *creat(struct LNode *head, int n) {
    int i;
    struct LNode *pnew, *plast;
    pnew = plast = NULL;
    pnew = (struct LNode *)malloc(sizeof(struct LNode));

    if(pnew != NULL) {
        pnew->next = NULL;

        for(i = 0; i < n; i++) {
            printf("请输入链表第%d个数: ", i + 1);
            scanf("%d", &(pnew->data));

            if(head == NULL) {
                head = pnew;

            } else {
                plast->next = pnew;
            }

            plast = pnew;
            pnew = (struct LNode *)malloc(sizeof(struct LNode));

            if(pnew == NULL) {
                printf("内存分配错误!\n");
                return NULL;
            }
        }

    }  else {
        printf("内存分配错误!\n");
        return NULL;
    }

    plast->next = NULL;
    free(pnew);
    return head;
}

int main(void) {
    int n;
    struct LNode *head = NULL;
    printf("请输入链表长度: ");
    scanf("%d", &n);
    head = creat(head, n);
    printf("链表中的数据: ");

    while(head != NULL) {
        printf("%d ", head->data);
        head = head->next;
    }

    printf("\n");
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2014-12-21 20:43
快速回复:关于链表的小程序,问下有哪些错误??新手求教。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039732 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved