指向结构体指针的应用,有语法错误
#include<stdio.h>
struct work
{
char name[10];
char sex[10];
int age;
char pos[10];
float wage;
};
int zhiyuan(struct work *max,struct work *min)
{
int i,num=0;
float sum=0,aver;
struct work worker[10];
for(i=0;i<10;i++)
{
scanf("%s%s%d%s%f",worker[i].name,worker[i].sex,&worker[i].age,worker[i].pos,&worker[i].wage);
if(worker[i].wage>(*max).wage)max=&worker[i];
if(worker[i].wage<(*min).wage)min=&worker[i];
sum+=worker[i].wage;
}
aver=sum/10;
for(i=0;i<10;i++)
{
if(worker[i].wage>aver)num++;
}
return num;
}
int main()
{
struct work m1,m2,*max,*min;
int n;
m1.age=0;
m1.wage=0;
m1.name={'n','a','m','e'};
m1.sex={'s','e','x'};
m1.pos={'p','o','s'};
m2.age=0;
m2.wage=10000;
m2.name={'n','a','m','e'};
m2.sex={'s','e','x'};
m2.pos={'p','o','s'};max=&m1;min=&m2;
n=zhiyuan(max,min);
printf("\n工资最高的是:%s\n",max->name);
printf("工资最低的是:%s\n",min->name);
printf("超过平均工资的有%d人\n",n);
return 0;
}
上面黑体显示,系统提示有语法错误,各位大神帮忙看看吧, struct 指针??c语言
[解决办法]
m1.name={'n','a','m','e'};
m1.sex={'s','e','x'};
m1.pos={'p','o','s'};
m2.name={'n','a','m','e'};
m2.sex={'s','e','x'};
m2.pos={'p','o','s'};
字符数组不能这么赋值!
[解决办法]
声明的时候可以,但以后不能这么赋值
[解决办法]