太大师了 2021-10-10 00:49 采纳率: 100%
浏览 62
已结题

这是我的代码,求链表的倒数第m个元素,请问哪里错了

#include<stdio.h>
#include<stdlib.h>

typedef struct LNode LNode;
typedef struct LNode *list;
typedef struct LNode{
    int data;
    LNode *next;//指向下一个节点 
}LNod,*list;

LNode*getelem(list L,int i){
    if(i<0)
        return NULL;
    LNode *p;
    int j=0;
    p=L;
    while(p!=NULL&&j<i){
        p=p->next;
        j++;
    }
    return p;
}

int main(){
    int a,b,c;
    list L,m;
    LNode*s,*r=L;
    L=(list)malloc(sizeof(LNode));
    L->next=NULL;//初始化
    scanf("%d\n",&a);
    for(int i=0;i<a;i++){
        scanf("%d",&b);
        s=(LNode*)malloc(sizeof(LNode));
        s->data=b;
        r->next=s;
        r=s;
    }
    r->next=NULL;
    scanf("%d",&c);
    c=a-c+1;
    m=getelem(L,c);
    printf("%d",m->data);
} 
  • 写回答

4条回答 默认 最新

  • 关注

    要在为 L 分配空间之后再让 r 指向L的地址
    L=(list)malloc(sizeof(LNode));
    r=L;
    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    
    #include<stdio.h>
    #include<stdlib.h>
    typedef struct LNode LNode;
    typedef struct LNode *list;
    typedef struct LNode{
        int data;
        LNode *next;//指向下一个节点
    }LNod,*list;
    LNode*getelem(list L,int i){
        if(i<0)
            return NULL;
        LNode *p;
        int j=0;
        p=L;
        while(p!=NULL&&j<i){
            p=p->next;
            j++;
        }
        return p;
    }
    int main(){
        int a,b,c;
        list L,m;
        LNode*s,*r;
        L=(list)malloc(sizeof(LNode));
        r=L;
        L->next=NULL;//初始化
        scanf("%d\n",&a);
        for(int i=0;i<a;i++){
            scanf("%d",&b);
            s=(LNode*)malloc(sizeof(LNode));
            s->data=b;
            r->next=s;
            r=s;
        }
        r->next=NULL;
        scanf("%d",&c);
        c=a-c+1;
        m=getelem(L,c);
        printf("%d",m->data);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月28日
  • 已采纳回答 7月20日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题