结构与函数应用案例

发布时间:2022-07-06编辑:zhushican阅读(324)

案例描述】

纠正以下代码中的错误:

#include<stdio.h>;

typedef struct{int m,s;}DA;

DA getMax(DA a[],n)//n为结构体数组a的元素个数

{ int i,k=0;

  for(i=1;i<n;i++)

     if(a[k]->s<a[i]->s)k=i;

  return a[k];

}

main()

{ DA p,d[]={1,97,2,81,3,75,4,65,5,87};

  p=getMax(d,5);

  printf("%d:%d",p->m,p->s);

}

结构与函数应用案例

案例分析】

1、预处理命令不是语句,不能以分号结尾

2、函数参数中,变量名必须给定数据类型

3、结构体变量是通过“变量名.成员”的方式引用成员,只有结构体类型指针变量使用“变量名->成员”的方式引用成员。

【参考代码】

#include<stdio.h>

typedef struct{int m,s;}DA;

DA getMax(DA a[],int n)

{ int i,k=0;

  for(i=1;i<n;i++)

     if(a[k].s<a[i].s)k=i;

  return a[k];

}

main()

{ DA p,d[]={1,97,2,81,3,75,4,65,5,87};

  p=getMax(d,5);

  printf("%d:%d",p.m,p.s);

}


评论