C++编程:找出打印M的语句
需积分: 9 168 浏览量
更新于2024-08-23
收藏 8.66MB PPT 举报
在C++程序设计中,谭浩强所著的教材中,有一道题目要求根据给出的结构体定义来判断能够打印出字母M的语句。首先,我们来看一下题目中的结构体`person`:
```cpp
struct person {
char name[9];
int age;
};
```
然后,我们有这样一个结构体数组`class`,包含了四个`person`对象:
```cpp
struct person class[10] = {
{"Jone", 17},
{"Paul", 19},
{"Mary", 18},
{"Adam", 16}
};
```
题目给出的四个输出语句是:
1. `cout << class[3].name << endl;`
2. `cout << class[3].name[1] << endl;`
3. `cout << class[2].name[1] << endl;`
4. `cout << class[2].name[0] << endl;`
分析这些语句:
- 第一句会打印出`class[3]`对应的`name`字段,也就是"Mary",因为数组下标从0开始,`class[3]`对应的是第四个元素,即Mary,其名字首字符是"M"。
- 第二句`cout << class[3].name[1]`会打印出`Mary`的第二个字符,即'y',所以输出结果是'y'。
- 第三句`cout << class[2].name[1]`同样会打印出`Paul`的第二个字符,即'u',输出结果是'u'。
- 最后一句`cout << class[2].name[0]`会打印出`Paul`的第一个字符,即'P',但由于`name`数组实际上只存储了9个字符(包括空字符),所以这里输出的是字符串结束符'\0',不是"M"。
只有第一个语句`cout << class[3].name << endl;`能够打印出字母"M",因为其他三个语句分别输出的是'y', 'u', 和字符串结束符。C++语言的特点在这里体现出来,特别是数组和结构体的使用,以及字符数组的处理,包括索引和边界条件。此外,这段代码展示了C++编程中的基本元素,如结构体、数组和输出流控制,以及字符数组的访问方式。学习者可以通过这个例子理解结构化编程和数组操作在实际编程中的应用。同时,它也提示了编程时注意数组索引和数据类型的有效性,避免潜在的运行时错误。
2009-09-06 上传
2016-06-10 上传
2022-11-27 上传
2023-09-06 上传
2024-01-18 上传
2023-09-12 上传
2023-06-28 上传
2023-10-03 上传
2023-11-24 上传
涟雪沧
- 粉丝: 21
- 资源: 2万+
最新资源
- 俄罗斯RTSD数据集实现交通标志实时检测
- 易语言开发的文件批量改名工具使用Ex_Dui美化界面
- 爱心援助动态网页教程:前端开发实战指南
- 复旦微电子数字电路课件4章同步时序电路详解
- Dylan Manley的编程投资组合登录页面设计介绍
- Python实现H3K4me3与H3K27ac表观遗传标记域长度分析
- 易语言开源播放器项目:简易界面与强大的音频支持
- 介绍rxtx2.2全系统环境下的Java版本使用
- ZStack-CC2530 半开源协议栈使用与安装指南
- 易语言实现的八斗平台与淘宝评论采集软件开发
- Christiano响应式网站项目设计与技术特点
- QT图形框架中QGraphicRectItem的插入与缩放技术
- 组合逻辑电路深入解析与习题教程
- Vue+ECharts实现中国地图3D展示与交互功能
- MiSTer_MAME_SCRIPTS:自动下载MAME与HBMAME脚本指南
- 前端技术精髓:构建响应式盆栽展示网站