| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 416 人关注过本帖
标题:共用体输出问题。。。求大神,求路过!!!
只看楼主 加入收藏
zhb151017212
Rank: 1
等 级:新手上路
帖 子:41
专家分:6
注 册:2012-10-15
结帖率:73.33%
收藏
已结贴  问题点数:20 回复次数:3 
共用体输出问题。。。求大神,求路过!!!
#include<stdio.h>
struct {
    int num;
    char name[20];
    char sex;
    char job;
    union
    {
        int clazz;
        char position[10];
    }category;
}person[2];
int main()
{
    int i;
    for(i=0;i<2;i++)
    {
        printf("please enter the data of person:\n");
        scanf("%d%s%c%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
        if(person[i].job=='s')
            scanf("%d",&person[i].category.clazz);
        else if(person[i].job=='t')
            scanf("%s",person[i].category.position);
        else
            printf("Input error\n");
    }
    printf("\n");
    printf("NO. name sex job class/position\n");
    for(i=0;i<2;i++){
    if(person[i].job=='s')
    printf("%-6d%-10s%-4c%-4c%-10d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.clazz);
    else
        printf("%-6d%-10s%-4c%-4c%-10d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);

}
    return 0;
}
搜索更多相关主题的帖子: job category position include person 
2012-11-21 19:40
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
什么问题?怎么不提示一下

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-11-21 21:38
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:10 
scanf("%d%s%c%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
中间格式用空格吧,不然不好输入,
不能正常输出是因为这里
printf("%-6d%-10s%-4c%-4c%-10d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
2012-11-22 11:54
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:10 
scanf("%d%s %c%c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);红色地方不用加取地址符号,且你在输入的时候要在输入姓名与性别
之间加入一个空格以免产生问题。
else
        printf("%-6d%-10s%-4c%-4c%-10s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
最后输出的时候应该是%-10s
2012-11-22 15:35
快速回复:共用体输出问题。。。求大神,求路过!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017170 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved