标题:一段单向链表的问题。为什么无法存入数据。总觉得没语法错了。
取消只看楼主
萝莉小纯情
Rank: 1
等 级:新手上路
帖 子:73
专家分:6
注 册:2012-12-8
结帖率:77.78%
已结贴  问题点数:20 回复次数:4 
一段单向链表的问题。为什么无法存入数据。总觉得没语法错了。
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 100

typedef struct Student{
char name[10];
char num[10];
char sex[2];
int age;
char Class[5];
char health[5];
}StudentDate;

typedef struct LNode{
StudentDate date ;
struct LNode *next ;
}LNode, *LinkList;

void ini_List(LinkList &);
void insert_sdate(LinkList &, int i , StudentDate );
void Print(LinkList );

int main()
{
LinkList L;
StudentDate stu[MaxSize];
int i,n;
scanf('%d',&n);
for (i=1;i<=n;i++)
{
scanf ('%s',stu[i].name);
scanf ('%s',stu[i].num);
scanf ('%s',stu[i].sex);
scanf ('%d',&stu[i].age);
scanf ('%s',stu[i].Class);
scanf ('%s',stu[i].health);
insert_sdate(L,i,stu[i]);
}
}

void ini_List(LinkList &L)
{
L=(LinkList)malloc(sizeof(LNode));
if(!L) exit(0);
L->next = L;
}

void insert_sdate(LinkList &L, int i , StudentDate stu )
{
LinkList p,q;
p=L;
int j=0;
while(p->next!=NULL&&j<i-1){
p=p->next;
j++;
}
q=(LinkList )malloc (sizeof(LNode));
if (!q)
exit (0);
q->date=stu;
q->next=p->next;
p->next=q;
}

这里用到了C++的引用。其他都是C的知识了。很奇怪。比如,我要输入三组数据。
然后我输入个3,回车,输入1 2 3 4 5 6这是第一组,正打算输入第二组程序就终止了。

[ 本帖最后由 萝莉小纯情 于 2013-4-1 16:31 编辑 ]
搜索更多相关主题的帖子: void next include health 
2013-04-01 16:28
萝莉小纯情
Rank: 1
等 级:新手上路
帖 子:73
专家分:6
注 册:2012-12-8
得分:0 
对了。SCANF那边有点错误。不知怎么的黏贴上去双引号就变成单引号了。
2013-04-01 16:31
萝莉小纯情
Rank: 1
等 级:新手上路
帖 子:73
专家分:6
注 册:2012-12-8
得分:0 
额。。没人来么- -。。。帮忙调试调试吧- -。我实在不知道问题出哪了~
2013-04-01 17:48
萝莉小纯情
Rank: 1
等 级:新手上路
帖 子:73
专家分:6
注 册:2012-12-8
得分:0 
回复 4楼 ouyang001
额。还是不对呀- -。。。。输入3,回车输入1 2 3 4 5 6回车。程序就终止了
2013-04-01 18:35
萝莉小纯情
Rank: 1
等 级:新手上路
帖 子:73
专家分:6
注 册:2012-12-8
得分:0 
这段程序也是一样的问题,我想知道到底是为什么,求大神帮帮忙呀!
想做个约瑟夫环,做个链债倒置都不行!!
#include <stdio.h>
#include <malloc.h>

typedef struct student{
    char name[5];
    char num[10];
    char sex[5];
    int age;
    char grade[5];
    char health[5];
}student;

typedef struct LNode{
    student date;
    struct LNode *next;
}LNode , *LinkList;

void ini_StackList(LinkList &);
void creat_stackList(LinkList &);

int main ()
{
    int n,i;
    LinkList s;
    ini_StackList(s);
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        creat_stackList(s);
    }

}

void ini_StackList(LinkList &s)
{
    s=NULL;
}

void creat_stackList(LinkList &s)
{
    LinkList p;
    p=(LinkList)malloc(sizeof (LNode));
    scanf("%s",s->date.name);
    scanf("%s",s->date.num);
    scanf("%s",s->date.sex);
    scanf("%d",&s->date.age);
    scanf("%s",s->date.grade);
    scanf("%s",s->date.health);
    p->next = s ;
    s=p;
}
2013-04-01 18:37



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




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

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