|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- struct
- {
- int num;
- char name[10];
- char sex;
- char job;
- union
- {
- int banji;
- char position[10];//职位
- }category;//类型
- }person[2];
- void main()
- {
- int i;
- for(i = 0;i < 2;i++)
- {
- printf("Please input the num:");
- scanf("%d",&person[i].num);
- printf("Please input the name:");
- scanf("%s",&person[i].name);
- getchar();
- printf("Please input the sex:");
- scanf("%c",&person[i].sex);
- getchar();
- printf("Please input the job:");
- scanf("%c",&person[i].job);
- if(person[i].job=='s')
- {
- printf("Please input the banji:");
- scanf("%d",&person[i].category);
- }
- else
- {
- if(person[i].job=='t')
- {
- printf("Please input the position:");
- scanf("%s",&person[i].category);
- }
- else
- {
- printf("Error!Please enter the job again:");
- scanf("%c",&person[i].job);
- }
- }
- }
- printf("\n\nnum\tname\tsex\tjob\tbanjin/position\n\n");
- for(i = 0;i < 2;i++)
- {
- printf("%d\t%s\t%c\t%c\t",person[i].num,person[i].name,person[i].sex,person[i].job);
- if(person[i].job=='s')
- {
- printf("%d\n",person[i].category);
- }
- else if(person[i].job=='t')
- {
- printf("%10s\n",person[i].category);
- }
- }
- }
复制代码 为什么输出共用体的时候
printf("%10s\n",person[i].category);
%s中间不加数据就要报错,不能输出。
|
|