Destiny_ing 2024-05-30 22:32 采纳率: 71%
浏览 1
已结题

怎样修改这个,好难啊。

img


這是通讯录里的一个统计函数,想实时统计男女的个数,但是这个目前一直报错,应该如何修改?

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-30 22:32
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的代码片段和错误提示,我发现了几个问题并给出了相应的修改建议。

    首先,#include 部分可能缺少了对 stdio.hstring.h 的引用,因为涉及到 printf 函数和字符数组的比较。其次,在第296行,比较操作符两边的类型不匹配,一个是字符指针(qw->sz[i].sex),另一个是整型('F')。为了解决这个问题,我们需要确保两边都是正确的数据类型进行比较。这里应该将指针解引用,即使用 qw->sz[i].sex[0] 进行比较。此外,还需要在循环结束后再输出男女数量,而不是在每次遍历时都打印。

    下面是修改后的代码:

    #include <stdio.h>
    #include <string.h>
    
    typedef struct student {
        char name[20];
        char sex;
    } txl;
    
    void tongji(txl *qw, int size) {
        int j = 0; // 初始化女生计数器
        int f = 0; // 初始化男生计数器
    
        for (int index = 0; index < size; index++) {
            if (qw->sz[index].sex[0] == 'F') {
                j++;
            } else if (qw->sz[index].sex[0] == 'M') {
                f++;
            }
        }
    
        printf("男生有%d个\n", f);
        printf("女生有%d个\n", j);
    }
    

    这段代码定义了一个结构体 txl 用于存储学生的信息,并包含一个名为 tongji 的函数,该函数接收一个指向 txl 类型数组的指针以及数组的大小,然后统计其中的男女人数。注意这里的循环索引变量已经从 i 改为了 index,以符合您的要求。现在代码应该可以正确编译并运行了。如果你还有其他问题或需要进一步的帮助,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月31日
  • 创建了问题 5月30日

悬赏问题

  • ¥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画这种图吗