标题:结构体问题
只看楼主
fengyinxqy
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2020-5-2
结帖率:92.31%
已结贴  问题点数:10 回复次数:1 
结构体问题
编写程序,定义教师信息的结构体类型,成员包括工资卡号、姓名、性别、出生年月(年/月)、婚姻状态(未婚/已婚/离异,采用共用体类型表示)以及工作部门等。输入教师信息并输出。
程序代码:
#include <stdio.h>
#include <math.h>
struct teacher
{
    int gznum;                    /* 工资卡号 */
    char name[20];               /* 姓名 */
    int sex;                     /* sex=1(男),0(女) */
    int year,month;             /* 出生年月 */
    union marriage
    {
        char marriage[20];
    }u1,u2;
}teachers;
int main() 
{
    printf("Enter gznum:\n");
    scanf("%d",&teachers.gznum);
    printf("Enter name:\n");
    scanf("%s",&teachers.name[20]);
    printf("Enter sex(1/0):\n");
    scanf("%d",&teachers.sex);
    printf("Enter born of year-month:\n");
    scanf("%d-%d",&teachers.year,&teachers.month);

    printf("%d\t%s\t%d\t%d-%d\t%d\n",teachers.gznum,teachers.name[20],teachers.sex,teachers.year,teachers.month,teachers.u1.marriage[20]);
    return 0;
} 


上面是我的代码,不知道哪里错了,输出不了,才开始学结构体,还不是太会。
搜索更多相关主题的帖子: scanf name Enter 结构体 printf 
2020-05-23 12:59
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
scanf("%s",&teachers.name[20]);
改为
scanf("%s",teachers.name);

printf("%d\t%s\t%d\t%d-%d\t%d\n",teachers.gznum,teachers.name[20],teachers.sex,teachers.year,teachers.month,teachers.u1.marriage[20]);
改为
printf("%d\t%s\t%d\t%d-%d\t%s\n",teachers.gznum,teachers.name,teachers.sex,teachers.year,teachers.month,teachers.u1.marriage);

其它没仔细看
2020-05-23 13:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501755-1-1.html




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

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