Destiny_ing 2024-05-27 22:48 采纳率: 71%
浏览 2
已结题

有一个功能运行不了。

img

img

img

img


那个输出的功能运行不了,应该怎么修改呢?
而且这个指针的指向是怎样的?

  • 写回答

1条回答 默认 最新

  • 阿里嘎多学长 2024-05-27 22:48
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的代码段,我将逐步分析并提供可能的解决方案。

    问题1:输出功能无法正常运行

    可能的原因:

    1. 循环条件错误:在xianshi函数中,循环条件应为i < qw.size,而不是i < qw.size
    2. 数组访问错误:在xinjianxianshi函数中,数组访问时使用了错误的语法。应该是qw->sz[qw->size],而不是qw->sz[qw.size]

    解决方案:

    • 修改xianshi函数中的循环条件。
    • 修正数组访问语法。

    问题2:指针的指向方式

    指针qw的指向:

    • qw是一个指向txl结构体的指针。
    • qw->szqw指向的txl结构体中的sz数组。
    • qw->sizeqw指向的txl结构体中的size成员。

    正确的指针使用:

    • 在函数参数传递时,应使用指针传递,如void xinjian(txl *qw)
    • 在访问结构体成员时,使用->操作符,如qw->sz[i].name

    代码实现修正:

    // 假设txl结构体定义如下:
    struct txl {
        struct stu sz[max]; // 联系人数组
        int size; // 联系人个数
    };
    
    // xinjian函数修正
    void xinjian(txl *qw) {
        printf("名字:");
        scanf(" %s", qw->sz[qw->size].name);
        // ... 其他字段的输入
        qw->size++; // 新增联系人后,size需要增加
    }
    
    // xianshi函数修正
    void xianshi(txl qw) {
        int i;
        for(i = 0; i < qw.size; i++) {
            printf("名字:%s\n", qw.sz[i].name);
            printf("单位: %s\n", qw.sz[i].address);
            printf("性别: %s\n", qw.sz[i].sex);
            printf("移动手机: %s\n", qw.sz[i].dianhua);
            printf("分类: %s\n", qw.sz[i].leibie);
        }
    }
    
    // main函数中调用xianshi的示例
    txl qw; // 创建通讯录
    qw.size = 0; // 个数初始化
    // ... 其他代码
    xianshi(qw); // 正确调用xianshi函数
    

    参考资料:

    请注意,以上代码仅为示例,具体实现可能需要根据您的完整代码进行调整。如果您需要进一步的帮助,请提供完整的代码或更详细的描述。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月27日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗