C++编程:找出打印M的语句
需积分: 9 129 浏览量
更新于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 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
涟雪沧
- 粉丝: 19
- 资源: 2万+
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目