#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;
}
为什么运行起来没有输出啊
- 写回答
- 好问题 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不能传递到主函数的原因?
解决 无用评论 打赏 举报