甜瓜785 2021-12-29 22:53 采纳率: 100%
浏览 82
已结题

不懂,为什么printf执行不出来

总之就是printf语句执行不了,好奇怪
代码目的是输入5个学生数据,选出成绩最低的人(考虑重复情况)存入h指向的结构体数组中。
代码为:
#include<stdio.h>
#define N 5
struct student
{
int num;
double score;
}s[N];
int fun(struct student s[],struct student *h)
{
int total,i,j=0;
double min=100.0;
for(i=0;i<N;i++)
if(min>s[i].score) min=s[i].score;
for(i=0;i<N;i++)
if(s[i].score==min)
{
(h+j)->num=(s+i)->num;
(h+j)->score=(s+i)->score;
j++;
total++;
}
printf("min_score student:\n num\n");
for(i=0;i<total;i++)
printf(" %d %lf\n",h[i].num,h[i].score);
return total;
}
int main()
{
struct student *h;
int i;
for(i=0;i<N;i++)
scanf("%d %lf",&s[i].num,&s[i].score);
printf("total:%d\n",fun(s,h));
return 0;
}
看了网上方法却没用,而且不仅输出不了,本菜鸟也不知道如何在fun函数里面对h的数组进行赋值从而影响到外函数,试了指针也没用,外函数输出时是乱码的,求解!!

  • 写回答

2条回答 默认 最新

  • 书山客 2021-12-29 22:57
    关注
    
    #include<stdio.h>
    #define N 5
    struct student
    {
        int num;
        double score;
    }s[N];
    int fun(struct student s[], struct student* h)
    {
        int total=0, i, j = 0;
        double min = 100.0;
        for (i = 0; i < N; i++)
            if (min > s[i].score) min = s[i].score;
        for (i = 0; i < N; i++)
            if (s[i].score == min)
            {
                (h + j)->num = (s + i)->num;
                (h + j)->score = (s + i)->score;
                j++;
                total++;
            }
        printf("min_score student:\n num\n");
        for (i = 0; i < total; i++)
            printf(" %d %lf\n", h[i].num, h[i].score);
        return total;
    }
    int main()
    {
        struct student* h=new student;
        int i;
        for (i = 0; i < N; i++)
            scanf("%d %lf", &s[i].num, &s[i].score);
        printf("total:%d\n", fun(s, h));
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月24日
  • 已采纳回答 1月16日
  • 创建了问题 12月29日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探