标题:C链表初学者,求帮助。很着急!
只看楼主
c_fish
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2017-9-27
 问题点数:0 回复次数:8 
C链表初学者,求帮助。很着急!
看了视频教学,按照视频上敲的代码,可是不能运行,求老司机帮帮忙。代码如下:
//创建链表//
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student        //创建结构体类型:包括数据域和指针域。 //
{
    int num; //学号//        //数据域///
    char name [20];  //姓名//
   
    struct stduent *pnext;    //指针域,指向结构体类型//
}STU; //别名//

 STU * CreateList(int n)//创建链表函数,该函数的指针指向结构体类型。 即该函数的数据都是相对应的结构体类型//
 {
      STU * pList = NULL;  //创建一个指针,使之指向空///
      STU * pNew = NULL;//创建一个指针,使指针指向空///
      STU * pTemp = NULL;   //创建一个临时指针,用来临时存放新节点pNew///
      int i;
     for(i=1;1<=n; i++)
     {
         pNew = (STU*)malloc(sizeof(STU));
         printf("请输入第%d个学生的信息\n",i);
         scanf("%d%s",&pNew->num,pNew->name);
         
         if(1 == i)
         {
                pNew->pnext = NULL;
                pTemp = pNew;
                pList = pNew;
         }
         else
         {
             pNew->pnext = NULL;
             pTemp->pnext = pNew;    //这儿等号下有红色波浪线//
             pTemp = pNew;
         }
     }
     return pList;
 }

 void print(STU *pList)  //打印函数,遍历整个链表//
 {
     int index=1;
     for(;pList!=NULL;index++)
     {
         printf("这是第%d个学生的信息:\n",index);
         printf("%d\n%s\n",pList->num,pList->name);
         pList = pList->pnext;                          //这儿等号下有红色波浪线//
     }

 }

int main(void)
{
    int n;
    printf("创建多少个节点?\n");
    scanf("%d",&n);
    STU * pstu =NULL;
    pstu = CreateList(n);
    print(pstu);

   
    return 0;
}



搜索更多相关主题的帖子: 创建 STU 指针 int NULL 
2017-10-27 16:27
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
    //struct stduent *pnext;    //指针域,指向结构体类型//
    struct student *pnext;    //指针域,指向结构体类型//
2017-10-27 21:11
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
回复 楼主 c_fish
2楼正解, student打错了
看了好几遍2楼的回复,一开始还以为吹版主怎么写两句一样的,后来发现不是的,特此提醒楼主

早知做人那么辛苦!  当初不应该下凡
2017-10-27 22:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
//for(i=1;1<=n; i++)
for(i=1;i<=n; i++)

2017-10-28 06:31
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student        //创建结构体类型:包括数据域和指针域。 //
{
    int num; //学号//        //数据域///
    char name [20];  //姓名//

    struct student *pnext;    //指针域,指向结构体类型//
} STU; //别名//

STU * CreateList(int n)//创建链表函数,该函数的指针指向结构体类型。 即该函数的数据都是相对应的结构体类型//
{
    STU * pList = NULL;  //创建一个指针,使之指向空///
    STU * pNew = NULL;//创建一个指针,使指针指向空///
    int i;
    for(i=0; i<n; ++i)
    {
        pNew = (STU*)malloc(sizeof(STU));
        if (pNew == NULL)
            exit(0);
        pNew->pnext = pList;
        pList = pNew;
    }
    for(i=1,pNew=pList; pNew!=NULL; pNew = pNew->pnext,++i)
    {
        printf("请输入第%d个学生的信息\n",i);
        scanf("%d%s",&pNew->num,pNew->name);
    }
    return pList;
}

void print(STU *pList)  //打印函数,遍历整个链表//
{
    int index=1;
    for(; pList!=NULL; index++)
    {
        printf("这是第%d个学生的信息:",index);
        printf("%d\t%s\n",pList->num,pList->name);
        pList = pList->pnext;                          //这儿等号下有红色波浪线//
    }
}

int main(void)
{
    int n;
    printf("创建多少个节点?\n");
    scanf("%d",&n);
    STU * pstu =NULL;
    pstu = CreateList(n);
    print(pstu);
    return 0;
}
2017-10-28 06:40
雨落花开
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-10-28
得分:0 
//for(i=1;1<=n; i++)
 for(i=1;i<=n; i++)
 
2017-10-28 17:24
c_fish
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2017-9-27
得分:0 
回复 2楼 吹水佬
谢谢!
2017-11-16 16:28
c_fish
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2017-9-27
得分:0 
回复 3楼 炎天
谢谢!
2017-11-16 16:28
对面别推呀
Rank: 2
等 级:论坛游民
威 望:1
帖 子:5
专家分:16
注 册:2017-11-17
得分:0 
回复 3楼 炎天
可以
2017-11-17 15:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481838-1-1.html




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

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