C++中编译怎么就用不了共用体?

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:05:04
# define N 2

# include"string.h"
struct zdr_type
{ int bianhao;
char mingzi[10];
char xingbie;
int nianling;
char jibie;
union
{int chejian;
char zhiwei[10];
}fennei;
}renyuan[N];
main()
{ int n,i;
for(i=0;i<N;i++)
{printf("please input your bainhao mingzi xingbie nianling jibie:\n");
scanf("%d %s %c %d %c",&renyuan[i].bianhao,&renyuan[i].mingzi,&renyuan[i].xingbie,&renyuan[i].nianling,&renyuan[i].jibie);
if (renyuan[i].jibie == "Y")
{printf("please input chejian:\n");
scanf("%d",&renyuan[i].fennei.chejian);
}
else
if(renyuan[i].jibie == "R")
{printf("please input zhiwei:\n");
scanf("%s",&renyuan[i].fennei.zhiwei);
}
else
{ printf("input error!\n");
exit(1);
}
}
printf("&

你的jibie类型是char,而你用字符串(即双引号包括起来的字符)给它赋值,当然不能通过编绎。

将赋值字符改成单引号:
renyuan[i].jibie=='Y'
希望可以帮到你,要细心哦~