鱼C论坛

 找回密码
 立即注册
查看: 1262|回复: 7

[技术交流] 作业43.定义结构体数组的个数出现的问题

[复制链接]
发表于 2022-2-9 17:07:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
出错.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-9 17:11:12 | 显示全部楼层
截错图辽,那里是struct Student stu[n];
但还是出错,请问是编译器的问题么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-9 18:06:08 | 显示全部楼层
请问有完整代码吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 10:45:33 | 显示全部楼层
傻眼貓咪 发表于 2022-2-9 18:06
请问有完整代码吗?

#include<stdio.h>
struct Student
{
        int id;
        int sex;
        char qq[32];
        char email[64];
};

int main(void)
{
        char ch;
        int i, n,c;

        printf("请输入需要录入的数据数量:");
        scanf_s("%d", &n);

        struct Student stu[n];//大佬,就是这里提示出错

        for (i = 0; i < n; i++)
        {
                printf("请录入第%d个学生的数据...\n", i + 1);

                printf("请输入学生的ID:");
                scanf_s("%d", &stu.id);

                printf("请输入学生的性别(1/0):");
                scanf_s("%d", &stu.sex);

                printf("请输入学生的qq号:");
                scanf_s("%s", stu.qq,32);

                printf("请输入学生的Email:");
                scanf_s("%s", stu.email,64);
        }
        printf("\n=====数据录入完毕=====\n");

        printf("\n以下是录入后所有男生的数据:\n");
        for (i = 0; i < n; i++)
        {
                if (stu.sex = 1);
                {
                        printf("ID:%d\n", stu.id);
                        printf("QQ:%s\n", stu.qq);
                        printf("Email:%s\n", stu.email);
                }
        }

        printf("\n以下是录入后所有女生的数据:\n");
        for (i = 0; i < n; i++)
        {
                if (stu.sex = 0);
                {
                        printf("ID:%d\n", stu.id);
                        printf("QQ:%s\n", stu.qq);
                        printf("Email:%s\n", stu.email);
                }
        }

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-10 13:31:20 From FishC Mobile | 显示全部楼层
你的scanf_s("%d", &n);<-------冒号是全角字符(需要切换成英文的符号)

还有就是你的代码全部,没错是全部的循环语句里的 stu 访问方法错了,正确应该是 stu[i](有 i 因为是数组。)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-10 13:46:33 From FishC Mobile | 显示全部楼层
因为我是用手机看,大概帮你修改了代码,应该没有问题了:
  1. #include<stdio.h>

  2. struct Student
  3. {
  4.         int id;
  5.         int sex;
  6.         char qq[32];
  7.         char email[64];
  8. };

  9. int main(void)
  10. {
  11.         char ch;
  12.         int i, n, c;
  13.        
  14.         printf("请输入需要录入的数据数量:");
  15.         scanf_s("%d", &n); // <----- 这里的 ;
  16.         struct Student stu[n]; // 改了上面,这里基本没有问题了
  17.        
  18.         for (i = 0; i < n; i++)
  19.         {
  20.                 printf("请录入第%d个学生的数据...\n", i + 1);
  21.                 printf("请输入学生的ID:");
  22.                 scanf_s("%d", &stu[i].id); // stu[i]
  23.                
  24.                 printf("请输入学生的性别(1/0):");
  25.                 scanf_s("%d", &stu[i].sex); // stu[i]
  26.                
  27.                 printf("请输入学生的qq号:");
  28.                 scanf_s("%s", stu[i].qq, 32); // stu[i]
  29.                
  30.                 printf("请输入学生的Email:");
  31.                 scanf_s("%s", stu[i].email, 64); // stu[i]
  32.         }
  33.        
  34.         printf("\n=====数据录入完毕=====\n");
  35.         printf("\n以下是录入后所有男生的数据:\n");
  36.         for (i = 0; i < n; i++)
  37.         {
  38.                 if (stu[i].sex == 1) // <----- 这里用 == 还有就是不要半冒号 ';' 还有 stu[i]
  39.                 {
  40.                         printf("ID:%d\n", stu[i].id); // stu[i]
  41.                         printf("QQ:%s\n", stu[i].qq); // stu[i]
  42.                         printf("Email:%s\n", stu[i].email); // stu[i]
  43.                 }
  44.         }
  45.        
  46.         printf("\n以下是录入后所有女生的数据:\n");
  47.         for (i = 0; i < n; i++)
  48.         {
  49.                 if (stu[i].sex == 0) // 如上,双等于符、不要半冒号 ';' 还有 stu[i]
  50.                 {
  51.                         printf("ID:%d\n", stu[i].id); // stu[i]
  52.                         printf("QQ:%s\n", stu[i].qq); // stu[i]
  53.                         printf("Email:%s\n", stu[i].email); // stu[i]
  54.                 }
  55.         }
  56.         return 0;
  57. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-2-10 14:47:36 | 显示全部楼层
傻眼貓咪 发表于 2022-2-10 13:46
因为我是用手机看,大概帮你修改了代码,应该没有问题了:

注意到了!感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-10 15:14:55 From FishC Mobile | 显示全部楼层
狐狸与兔兔 发表于 2022-2-10 14:47
注意到了!感谢

不客气,大家学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-16 05:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表