HM066 箭头访问学生

HM066 箭头访问学生

HM066 箭头访问学生

来源: 第 66 集 结构体-结构体指针

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

结构体指针用来操纵结构体成员。可以按三步来做:先创建结构体变量,再用指针指向它,最后通过指针访问其中的数据。

学生类型包含姓名(字符串)、年龄(整数)、分数(整数)。可以在创建变量时用花括号赋初值。指向它的指针类型必须与变量类型一致:应对 Student 变量取地址,得到 Student *。写成 int *p = &s 会因左右类型不兼容而无法初始化。创建变量和指针时,struct 关键字都可以省略。

若手里是结构体变量本身,用点号访问成员,例如 s.name。若手里是指针,必须用箭头 ->(减号紧接大于号)访问成员,例如 p->namep->agep->score。成员再多,通过指针访问时也一律用箭头。使用字符串需要包含 <string>

读入一名学生,用结构体指针输出三个字段;再读入一份新数据,同样通过箭头改写后再输出。

输入格式

第一行一个不含空格的字符串 \(name\) 和两个整数 \(age\)、\(score\),表示初始学生。

第二行一个不含空格的字符串 \(name_2\) 和两个整数 \(age_2\)、\(score_2\),表示要通过指针写入的新值。

姓名长度不超过 \(20\),年龄在 \(1\) 到 \(120\) 之间,分数在 \(0\) 到 \(100\) 之间。

输出格式

第一行:通过箭头读出的初始姓名、年龄、分数,相邻之间一个空格。

第二行:改写后通过箭头读出的姓名、年龄、分数,相邻之间一个空格。

每行末尾换行。

样例

输入 #1

zhangsan 18 100
lisi 20 90

输出 #1

zhangsan 18 100
lisi 20 90

输入 #2

amy 16 88
bob 17 70

输出 #2

amy 16 88
bob 17 70

说明

指针应写成 Student *pointerA = &oneStudent;,不能用 int * 去指向学生。输出和改写都必须走 pointerA->name 这类箭头,不能只对变量用点号交差。样例 1 先读出 zhangsan \(18\) \(100\),再改成 lisi \(20\) \(90\)。

信息

ID
1065
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者