山水静默 2023-01-27 17:58 采纳率: 100%
浏览 36
已结题

共用体条件不成立是为什么?求解(语言-c语言)

请问共用体有一个条件一直不成立不知道是什么原因,麻烦哪位帮忙看一下!

#include <stdio.h>
#include<string.h>

struct
{
    int num;
    char name[20];
    char sex;
    char job;
    union
    {
        int classno;
        char position[10];
    }type;
}person[2];
void main()
{
    int i;
    for(i=0;i<2;i++)
    {
        printf("input teach or student:");
        scanf("%c,%d,%s,%c,",&person[i].job,&person[i].num,person[i].name,&person[i].sex);
        if(person[i].job=='a')
        {
            printf("input classno:");
        scanf("%d",&person[i].type.classno);
        }
        else
        if(person[i].job=='t')
        {
            printf("input job:");
        scanf("%s",person[i].type.position);
        }
        else
        {
            printf("error!");
        }
    }
    printf("\n");
    for(i=0;i<2;i++)
    {
        if(person[i].job=='a')
        {
            printf("%d ",person[i].num);
            printf("%s ",person[i].name);
            printf("%c ",person[i].sex);
            printf("%c ",person[i].job);
            printf("%d\n",person[i].type.classno);
        }
        if(person[i].job=='t')
        {
           
            printf("%d ",person[i].num);
            printf("%s ",person[i].name);
            printf("%c ",person[i].sex);
            printf("%c ",person[i].job);
            printf("%s\n",person[i].type.position);
        }
    }
  }


img

img


img

img

展开全部

  • 写回答

3条回答 默认 最新

  • 山水静默 2023-01-28 12:27
    关注

    可能是数制的问题,我把person[i].job的输入控制符改成字符串的s了,然后这步过了,虽然不知道为啥。。。蹲个高手帮忙解答一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月28日
  • 已采纳回答 1月28日
  • 修改了问题 1月28日
  • 修改了问题 1月28日
  • 展开全部
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部