标题:动态链表指定位置输出不了,求解答
只看楼主
a83342358
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-4-9
结帖率:66.67%
已结贴  问题点数:20 回复次数:1 
动态链表指定位置输出不了,求解答
代码如下:
#include <stdio.h>
#include <malloc.h>
struct student
{
    char num[13];char name[10];char sex[10];
    struct student *next;
};
struct student *Input(int n)
{
    int i;
    struct student *r,*s,*head;
    r=s=(struct student*)malloc(sizeof(struct student));
    for(i=0;i<n;i++)
    {
        printf("请输入第%d个学生的学号:",i+1);
        scanf("%s",&s->num);
        printf("请输入第%d个学生的姓名:",i+1);
        scanf("%s",&s->name);
        printf("请输入第%d个学生的性别:",i+1);
        scanf("%s",&s->sex);
        if(n==0)
            head=r;
        if(n>0)
        {
            r->next=s;
        }
        r=s;
        s=(struct student*)malloc(sizeof(struct student));
    }
    r->next=NULL;
    return head;
}

void Output(struct student *x,int n)
{
    int count=1;
    printf("请输入要调出信息的学生序号:");
    scanf("%d",&n);
    while(count<n)
    {
        x=x->next;
        count++;
    }
    if(count==n)
    {
        printf("信息如下:\n");
        printf("学号为:%s\n",x->num);
        printf("姓名为:%s\n",x->name);
        printf("性别为:%s\n",x->sex);
    }
}

int main()
{
    struct student *head;int n,m;
    printf("请输入学生个数:");
    scanf("%d",&n);
    head=Input(n);
    Output(head,m);
    return 0;
}
输入了要输出的序号之后就崩溃了。。。
搜索更多相关主题的帖子: struct student head printf 输入 
2018-04-12 15:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
Output(head,m); 这时的m是什么
2018-04-12 15:57



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




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

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