共用体类型的,输出及格人数,为什么错了啊
#include<stdio.h>#define M 100
typedef struct abu
{
int num;
char name;
int age;
union
{
char degree;
int grade;
}score;
}emploree;
int main()
{
int n,h=0,i;
scanf("%d",&n);
emploree s;
for(i=0;i<n;i++)
{
scanf("%d%s%d",&s.num,s.name,&s.age);
if(s.age>30)
{
scanf("%c",s.score.degree);
if(s.score.degree<='C')
h++;
}
else
{
scanf("%d",s.score.grade);
if(s.score.grade>=60)
{
h++;
}
}
}
printf("%d",h);
return 0;
}
{:10_266:} {:10_277:} 哪里报的错,你也一块贴出来 就是运行不了,一运行就显示exe已停止工作 首先你 编译应该不不会通过的 ,你所谓的共用体初始化 不能用 变量初始化的为了安全。
其次 除了前两个 scanf你使用了 取地址& 符号,其余一概没用取地址 程序肯定崩溃! scanf("%c",&s.score.degree);
scanf("%d",s.score.grade);
取址号没有,加上去试试
scanf("%c",&s.score.degree);
scanf("%d",&s.score.grade);
这两行取址号没有,加上去试试 18123988006 发表于 2017-12-27 23:13
scanf("%c",&s.score.degree);
scanf("%d",&s.score.grade);
这两行取址号没有,加上去试试
嗯嗯对了,谢谢{:10_297:}
页:
[1]