Duang~Lucky.Mr.Li 2022-05-19 18:59 采纳率: 25%
浏览 30

为什么运行起来没有输出啊


#include<stdio.h>
#define N 3
//结构体的定义
typedef struct student
{
    int id;
    float sorce;
 }STU;
 //定义fun()函数 
 void fun(STU stu[],STU *s)
 {
     float min;
     int i;
     min=stu[0].sorce;
     s=&stu[0];
     for(i=1;i<N;i++)
     {
         if(min>stu[i].sorce)
         {
             min=stu[i].sorce;
             s=&stu[i];
         }
     }
  } 
  int main()
  {
      STU a[N]={{201901,80.5},{201902,98.2},{201903,84.3}};
      STU *s;
    fun(a,s);
    printf("%d %f",s->id ,s->sorce) ;
    return 0;
  }
  • 写回答

2条回答 默认 最新

  • Duang~Lucky.Mr.Li 2022-05-19 19:06
    关注
    
    #include<stdio.h>
    #define N 3
    //结构体的定义
    typedef struct student
    {
        int id;
        float sorce;
     }STU;
     //定义fun()函数 
     STU * fun(STU stu[],STU *s)
     {
         float min;
         int i;
         min=stu[0].sorce;
         s=&stu[0];
         for(i=1;i<N;i++)
         {
             if(min>stu[i].sorce)
             {
                 min=stu[i].sorce;
                 s=&stu[i];
             }
         }
         return s;
      } 
      int main()
      {
          STU a[N]={{201901,80.5},{201902,98.2},{201903,84.3}};
          STU *s;
          
        s=fun(a,s);
        printf("%d %f",s->id ,s->sorce);
        return 0;
      }
    

    这样子写就能正常输出,为什么啊?是不是fun()函数形参s不能传递到主函数的原因?

    评论

报告相同问题?

问题事件

  • 创建了问题 5月19日