数据类型问题,大神招来。
程序代码:
#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的数据类型问题,我原本想用强制类型转换也还是不行。