calc(student) OR calc((struct stu*)student)? 中的?((struct stu*)student是什么意思

wzz80 2009-05-14 10:38:32
#include<stdio.h>
struct stu
{
char name[20],sex;
int age;
}student[100];
void calc(struct stu []);
void main()
{
int i=0,j;
char yes;
printf("\t\t幼儿园现在开始招生,请录入小朋友的信息\n");
do
{
printf("==============================================================================\n");
printf("第%d个小朋友的信息:\n",i+1);
printf("\t姓名:");
scanf("%s",&student[i].name);
printf("\t性别:");
scanf(" %c",&student[i].sex);
printf("\t年龄:");
scanf("%d",&student[i].age);
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("是否继续录入?y/n");
fflush(stdin);
yes=getchar();
i++;
if(i>100)
{
printf("本系系统只能输入100个小朋友的信息:)\n");
break;
}
}while(yes=='y'||yes=='Y');
for(j=0;j<i;j++)
{
printf("第%d个小朋友的信息:\n",j+1);
printf("\t姓名:%s\n",student[j].name);
printf("\t性别:%c\n",student[j].sex);
printf("\t年龄:%d\n",student[j].age);
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
}
calc(student); // calc((struct stu*)student)这个为什么可以代替calc(student);
}
void calc(struct stu score[]){
int i,m=0,f=0;
float msum=0,fsum=0,mavg,favg;
for(i=0;i<100;i++)
{
if(score[i].sex=='m'||score[i].sex=='M')
{
m++;
msum+=score[i].age;
}

if(score[i].sex=='f'||score[i].sex=='F')
{
f++;
fsum+=score[i].age;
}
}
printf("男性小朋友的平均年龄是%.f\n",msum/m);
printf("女性小朋友的平均年龄是%.f\n",fsum/f);
}
...全文
154 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nk_ysg 2009-05-14
  • 打赏
  • 举报
回复
结构体?
  • 打赏
  • 举报
回复
lc(student); // calc((struct stu*)student)这个为什么可以代替calc(student);


一维的数组名,基本等于指针,可以不用转换啊
liliangbao 2009-05-14
  • 打赏
  • 举报
回复
void calc(struct stu score[])//函数的形参就是struct stu指针,
calc((struct stu*)student)//student强转为struct stu指针
calc(student); //student是数组,可以理解为struct stu指针常量,因此两种情况都对~
lingyin55 2009-05-14
  • 打赏
  • 举报
回复
这里student就代表数组的首地址,所以不用转换也可以,两个是一样的。
lingyin55 2009-05-14
  • 打赏
  • 举报
回复
calc(student); // calc((struct stu*)student)这个为什么可以代替calc(student);
calc((struct stu*)student)只是对student做强制类型转换。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧