当前位置:首页 » 编程语言 » c语言结构体题目

c语言结构体题目

发布时间: 2025-02-08 11:46:01

A. C语言结构体问题

朋友 你碰上的是经典错误
首先第一个错 pn->b/n.a*++pn->b 翻译之后变成 b/a*(++b) = 3/1*4 = 12

第二个错 即使按照你所描述的想法 估计按照你写的程序 你会这样改 :
pn->b/n.a*(++pn)->b
你肯定认为 (++pn)->b 是指向 c (也就是5.0)的吧 你试着运行 同样错 结果为0

根本原因:知识点理解---指针类型(此处为结构体指针)
struct x *pn 代表了pn是一个指向 struct x 类型的指针,所以,当 执行 (++pn)时,pn指针指向的地址增加的数量 等于 struct x 的字节数 也就是 int + int + float 的字节数 所以指向一个未知的空间 (此处的值默认为0)------------------所以并非楼主认为的变成指向 c
知识点类比:int *p = &n,当执行(++p) ,p指向的地址增加 int 的字节数
float *p = &n 当执行(++p) ,p指向的地址增加 float 的字节数
余下同理......

B. C语言结构体编程题,求助大神啊

根据题意:

一、教师信息定义为结构体,其成员年月也为结构体(可直接定义成两个成员变量,本题没有强制要求),婚姻状态采用共用体类型。

二、输入信息直接写在main函数,实际软件开发应单独写输入函数,输入验证我只写了性别和婚姻状态的验证,其余成员的输入验证需要自己添加。(实际开发,验证也应单独写函数调用)。

三、输出单独函数。

#include <stdio.h>

typedef union maType//结婚状态共用体

{

int type;//0未婚1已婚2离异

}MTE;

typedef struct s_date

{

int year;

int month;

}SDATE;

typedef struct teacher

{

char idNum[20];

char name[20];

int sex;//0女1男

SDATE date;

MTE mtype;

char dtName[100];//工作部门名称

}TEER;

void printfTinfo(TEER tInfo);

int main()

{

TEER tInfo;

printf("输入一名教师信息: ");

printf("工资卡号(20个字符):"),scanf("%s",tInfo.idNum);

printf("姓名(20个字符):"),scanf("%s",tInfo.name);

do

printf("性别(0女1男):"),scanf("%d",&tInfo.sex);

while(tInfo.sex!=0 && tInfo.sex!=1);

printf("出生年月(格式:YYYY MM):"),scanf("%d%d",&tInfo.date.year,&tInfo.date.month);

do

printf("婚姻状态(0未婚1已婚2离异):"),scanf("%d",&tInfo.mtype.type);

while(tInfo.mtype.type!=0 && tInfo.mtype.type!=1 && tInfo.mtype.type!=2);

printfTinfo(tInfo);

return 0;

}

void printfTinfo(TEER tInfo)

{

printf(" ---------------- 输入的信息为: ");

printf("工资卡号:%s ",tInfo.idNum);

printf("姓名:%s ",tInfo.name);

printf("性别:%s ",tInfo.sex?"男":"女");

printf("出生年月:%04d-%02d ",tInfo.date.year,tInfo.date.month);

printf("婚姻状态:");

switch(tInfo.mtype.type)

{

case 0:printf("未婚 ");break;

case 1:printf("已婚 ");break;

case 2:printf("离异 ");break;

}

}

热点内容
xlsx表格保护密码忘记如何处理 发布:2025-07-21 06:33:57 浏览:658
儿童密码日记本的通用密码是什么 发布:2025-07-21 06:28:31 浏览:233
移动默认pppoe密码是什么 发布:2025-07-21 06:28:28 浏览:710
工资表数据库 发布:2025-07-21 06:22:54 浏览:693
c语言青蛙过河 发布:2025-07-21 06:22:47 浏览:785
安卓数据转换器实体店在哪里 发布:2025-07-21 06:12:53 浏览:571
网站后台上传不了图片 发布:2025-07-21 06:12:22 浏览:875
创建简单的存储过程 发布:2025-07-21 06:07:27 浏览:216
登录小度账号密码是哪里的密码 发布:2025-07-21 06:00:58 浏览:44
天龙八部缓存 发布:2025-07-21 05:59:39 浏览:275