,.?!!?., 2018-01-29 07:27 采纳率: 0%
浏览 2928
已采纳

新手用vs2017 输入数据报错 c语言

图片说明图片说明图片说明

 #include <stdio.h>
#include <stdlib.h>
struct student
{
    int number;
    int de;
    int cai;
    int grade;
    int sum=de+cai;
};
typedef struct student* man;
int com(const void *a, const void *b)
{
    man s1 = *(man *)a;
    man s2 = *(man *)b;
    if (s1->grade != s2->grade) return s2->grade - s1->grade;
    else if (s1->sum != s2->sum)   return s1->sum - s2->sum;
    else if (s1->de != s2->de)     return s1->de - s2->de;
    else if (s1->number != s2->number)   return s2->number - s1->number;
    else                        return 0;

}
int judge(man s, int c, int d)
{
    if (s->cai < c || s->de < c) return 0;
    else if (s->cai < d&&s->de < d)  return 1;
    else if (s->cai >= d && s->de < d) return 2;
    else if (s->de >= d && s->cai < d) return 3;
    else if (s->cai >= d && s->de >=d) return 4;
}
int main()
{

     man a[100];
     int b, c, d;
     scanf_s("%d %d %d", &b, &c, &d,8888);
     int i;
     int flag = 0;
     for (i = 0; i < b; i++)
     {   
         man s = (man)malloc(sizeof(struct student));
         scanf_s("%d %d %d", s->number, s->de, s->cai,8888);
         if (s->grade=judge(a[i], b, c) )
         {
             a[flag] = s;
             flag++;
         }
         free(s);
     }
     qsort(a, flag, sizeof( man), com);
     printf("%d\n", flag);
     for (int i = flag - 1; i >= 0; i--)
         printf("%d %d %d\n",a[i]->number, a[i]->de, a[i]->cai);
     system("pause");
     return 0;

}


大佬们咋回事
p://img.ask.csdn.net/upload/201801/29/1517210935_834748.png)
  • 写回答

5条回答

  • 闭上左眼看世界 2018-01-29 08:42
    关注

    你后面的if (s->grade = judge(a[i], b, c));首先.数组a里面全是野指针...然后你调用judge方法...让一个指针去指向了这个野指针,然后想要去得到这片区域的值...不报错才怪..

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名