数据类型问题,大神招来。
程序代码:#include<stdio.h>
#include<string.h>
struct student /*定义学生信息*/
{char num;
char name[20];
char sex;
char major;
int chinese;
int math;
int english;
};
struct student str[30];
void main()
{
float aver(int a,int b,int c);
int i;
for(i=0;i<30;i++) /*循环录入学生信息*/
{scanf("%d\n",str[i].num);
scanf("%s\n",str[i].name);
scanf("%c\n",str[i].sex);
scanf("%s\n",str[i].major);
scanf("%d\n",str[i].chinese);
scanf("%d\n",str[i].math);
scanf("%d\n",str[i].english);
}
for(i=0;i<30;i++)
{
average=aver(str[i].chinese,str[i].math,str[i].english);
}
}
float aver(int a,int b,int c)
{
int sum;
sum=a+b+c;
sum=(float)sum;
average=sum/3;
return(average);
}
就是average的数据类型问题,我原本想用强制类型转换也还是不行。









