就输出第一个节点的信息,如果把输入的都输出怎么办?

来源:5-2 Linux C 动态数据结构-动态链表

qq_印象派_1

2018-02-10 17:35

就输出第一个节点的信息,如果把输入的都输出怎么办?就是初始化了三组值,怎么就打印第一组,怎么都打印出来。

写回答 关注

1回答

  • JsStatham
    2018-02-18 12:10:02

    你的问题模棱两可,感谢老天爷,我还是理解了。

    你是说,初始化了三个节点吧?或者说是初始化了节点中的三组值?
    我两个种形式都回答一下吧。

    以静态链表为例:

    //创建节点
    struct node{

        int score;

        char name;

        int number;

        double whatever;

        int *pnext;

    }n1, n2,n3;

      //链表初始化

    struct node  *phead = &n1;

    n1.pnext = &n2

    n2.pnext = &n3;

    n3.pnext = NULL;

    那么,如果你现在在节点n1中输入了前三个值(第四个没有输入),那么答应前三个就行了啊:

    printf(“%d\n%s%d”,n1.score, n1.name, n1.number);


    如果三个节点的这三个变量都都要输出,你循环输出就行了呀:

    struct node  *pTmp = NULL;

    struct node  *pCur = &n1;

    for( i = 0 ;i < 3; i++){

        printf(“%d\n%s%d”,pCur->score, pCur->name, pCur->number);

        struct node  *pTmp = pCur->pnext; //取下一个节点

        pCur = pTmp;

    }



    打字不易,我是NPU张小戈,请采纳。

Linux C语言结构体

C语言的深入,帮助小伙伴们进一步的理解C语言,赶紧看过来

118294 学习 · 162 问题

查看课程

相似问题