标题:这个程序为什么编译成功,无法运行
取消只看楼主
xiaolou988
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-4-23
结帖率:100%
已结贴  问题点数:20 回复次数:1 
这个程序为什么编译成功,无法运行
#include<stdio.h>
#include<stdlib.h>

struct stu
{
     int num;
     char name[20];
     int score;
    struct stu *next;
};

int delete_node(struct stu *h,int x)
{
    struct stu  *p,*q;
    q=h;p=h->next;
    if(p!='\0')
    {
        while((p!='\0')&&(p->num!=x))
        {
            q=p;p=p->next;
        }
        if(p->num==x)
        {
            q->next=p->next;
            free(p);
        }
    }
    return 0;
}

int main(void)
{

    int a,c,x;
    char b[20];
    struct stu *h,*s,*r,*n;
    h=(struct stu *)malloc(sizeof(struct stu));
    r=h;
    scanf("%d",&a);
    scanf("%s",b);
    scanf("%d",&c);
    while(c>=0)
    {
        s=(struct stu *)malloc(sizeof(struct stu));
        s->num=a;
        s->name[20]=b[20];
        s->score=c;
        r->next=s;
        r=s;
        scanf("%d",&a);
        scanf("%s",b);
        scanf("%d",&c);
    }
    scanf("%d",&x);
    delete_node(s,x);
    n=s->next;
   
        while(n!='\0')
        {
        printf("%d\t%s\t%d\n",n->num,n->name,n->score);
        n=n->next;
        }
    return 0;

}



[ 本帖最后由 xiaolou988 于 2013-4-23 22:13 编辑 ]
搜索更多相关主题的帖子: next include return 
2013-04-23 22:07
xiaolou988
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-4-23
得分:0 
编写一个程序,建立一个单向链表,每个结点包括:学号、姓名、成绩。建立链表时若输入成绩
为负数就结束。然后输入一个学号,如果链表中有学号等于此输入学号的结点,则将其删除。
2013-04-23 22:08



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




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

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