标题:写了一个单向数据链代码,运行老出错!但总找不出问题所在,求助!
只看楼主
xiaogua918
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-15
结帖率:0
已结贴  问题点数:20 回复次数:7 
写了一个单向数据链代码,运行老出错!但总找不出问题所在,求助!
#include <stdio.h>
 #include <malloc.h>
 #define size sizeof(struct student)
 #define N 5
 
struct student
 {
         int shengao;
         float tizhong;
         struct student *next;
 };
 

struct student *create(void)                                 /*建立链表*/
 {
         struct student *p1;
         struct student *p2;
         struct student *head;
         int i;
         for(i=1;i<=N;i++)
         {
                 p1=(struct student*) malloc(size);
                 printf("输入身高和体重\n");
                 scanf("%d %f",&p1->shengao,&p1->tizhong);
                 if(i==1)                                                         /*第一个结点*/
                 {
                         head=p2=p1;
                 }
                 else if(i<N)                                            /*中间结点*/
                {
                         p2->next=p1;
                         p2=p1;                        
                }
                 else if(i=N)                      /*最后一个结点*/
                 {
                         p2->next=p1;
                         p1->next=NULL;
                 }
         }
 
        return head;
         
}
 

void NextPrint(struct student *head)       /*输出链表的函数*/
 {
         
        struct student *p;
         p=head;
         printf("输出链表");
         while(p->next!=NULL)
         {
                 printf("身高:%d\体重:%f\n",&p->shengao,&p->tizhong);
                 p=p->next;
         }
 }
 
void main()
 {
         struct student *head=create();
         NextPrint(head);
         
}
搜索更多相关主题的帖子: void create next include 
2012-10-15 20:30
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
得分:10 
你有一句if语句用了“=”
菜鸟而已 学习学习

[ 本帖最后由 阿鞠尼 于 2012-10-15 21:17 编辑 ]

喜欢睡觉 却经常熬夜
2012-10-15 21:15
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
得分:0 
以下是引用xiaogua918在2012-10-15 20:30:56的发言:

我了个擦  今天怎么回事  引用别人的东西总是丢掉后面的代码                                            
红色字体

[ 本帖最后由 阿鞠尼 于 2012-10-15 21:19 编辑 ]

喜欢睡觉 却经常熬夜
2012-10-15 21:18
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
得分:0 
以下是引用xiaogua918在2012-10-15 20:30:56的发言:

                 else if(i=N)                      /*最后一个结点*/
                 {
                         p2->next=p1;
                         p1->next=NULL;
                 }
         }
 
        return head;
         
}
 
不知道这次行不行

喜欢睡觉 却经常熬夜
2012-10-15 21:20
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
得分:0 
总算好了

喜欢睡觉 却经常熬夜
2012-10-15 21:20
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:10 
printf("身高:%d\体重:%f\n",&p->shengao,&p->tizhong);
为什么要用"&"?

总有那身价贱的人给作业贴回复完整的代码
2012-10-15 22:17
xiaogua918
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-15
得分:0 
回复 6楼 embed_xuel
谢谢啊,我头晕了,这都没看出来,估计当时不小心打错了!
2012-10-15 23:54
xiaogua918
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-15
得分:0 
回复 4楼 阿鞠尼
对的,有2处小细节没注意,我当初以为是建立链表的方法错了!
忽略了细节,谢谢啊
2012-10-15 23:55



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




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

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