问下各位我这个可以运行成功但是显示错误是为什么呢

为什么我这个运行是成功的呢但是我左下角交练习后显示答案错误是为什么呢哪里有问题呢

img

到底哪个是你的代码,都不一样啊
不需要考虑大写字母吗?

看看你的输出格式,比如说最后是不是要换行

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/732321
  • 这篇博客也不错, 你可以看下如何通过查源码的方式解决编程中遇到的问题?查源码定位问题的思路是什么?
  • 除此之外, 这篇博客: 结构体数组和结构体指针的应用,结构体成员引用的表示方法中的 结构体数组和结构体指针的应用,结构体成员引用的表示方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • //结构体数组和结构体指针的应用,结构体成员引用的表示方法
    // Created by acer on 2020/8/30.
    #include<stdio.h>
    struct student{
        int num;
        char name[20];
        char sex;
        int age;
        float score;
    };
    
    int main(){
    //    定义结构体数组并初始化
        struct student stu[3]={{11302,"wang",'F',20,483},
                               {11303,"Liu",'M',19,443},
                };
        struct student student1={11301,"fang",'M',21,485},*p,*q;
        int i;
    //    *p指向结构体变量
        p=&student1;
    //    访问结构体变量
        printf("%s,%c,%5.1f\n",(*p).name,p->sex,studengt.score);
        q=stu;  //q指向结构体数组元素
    //   循环访问结构体数组的元素(下标变量)
        for (i = 0;  i<2 ; i++,q++) {
            printf("%s,%c,%5.1f\n",q->name,q->sex,q->score);
        }
        return 0;
    }
    

    结果:
    fang,M,485.0
    wang,F,483.0
    Liu,M,443.0

    printf("%s,%c,%5.1f\n",(*p).name,p->sex,student.score);
    

    由结果可见这三种表示方法含义是相同的。
    成员变量引用的方式有:

    1. 运用成员域访问运算符:<结构体变量名>.成员名,student.score;
    2. 利用间接访问成员域的运算符:指针变量->成员,如p->sex;
    3. 利用结构体指针变量访问结构体变量的成员:(*结构体指针变量名).成员名。如(*p).name;

    容易混淆:
    输入数据的时候,姓名是字符串不用加&!!!,但是年龄,分数,性别要加。
    如:

    scanf("%s,%c,%d",p->name,&p->sex,&p->age);
    
  • 您还可以看一下 王西猛老师的商超收银软件排队挂单取单编程思路教程课程中的 点餐软件开发过程中的挂单取单编程概述小节, 巩固相关知识点