青鸽志与半卷书 2022-03-15 17:33 采纳率: 100%
浏览 17
已结题

这个为什么报错了啊?

img

传地址 定义地址什么的应该都没有错啊 为什么报错了呢 这个错误类型是什么意思啊 应该怎么修改呢

  • 写回答

3条回答 默认 最新

  • yun6853992 2022-03-15 17:57
    关注

    注意梳理结构体的两种访问方式,什么时候用.什么时候用->

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 浪客 2022-03-15 17:44
    关注

    l是指针,结构体中要用->。

    评论
  • a5156520 2022-03-15 18:05
    关注

    因为是结构指针,所以访问结构里的字段的时候,把.改为->,就可以了,修改了一下,如下:

    
    #include <stdio.h>
    #include <string.h>
    #define max 10
    typedef struct {
        char name[6];
        int num,grade;
    } elem;
    
    typedef struct {
        elem e[max];
        int length; //这个length的作用不知道是什么 ,我就把理解为有多生个学生信息把 
    }L;
    
    void insert (L * l,int i){
        
        int k;
        printf("add insert student information:\n");
        scanf("%d%s%d",&(l->e[i].num),l->e[i].name,&(l->e[i].grade));
        
        for(k=l->length;k>=i;k--){
            //l->e[k+1] = l->e[k];
            l->length++;
        }
    }  
    
    int main(void){
        L l;
        int i=0;
        
        printf("insert student information:\n");
        for(;i<4;i++){
            scanf("%d%s%d",&l.e[i].num,l.e[i].name,&l.e[i].grade);
            printf("insert student information:\n");
        }
    //    scanf("%d",&i);
        insert(&l,i);
        l.length = i+1;
        for(i=0;i<l.length;i++){
            printf("%d %s %d\n",l.e[i].num,l.e[i].name,l.e[i].grade);
        }
        
        return 0;
    }
    
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥30 宾馆客房管理系统可视化
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据