太大师了 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 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么