Destiny_ing 2024-06-05 18:06 采纳率: 71%
浏览 0
已结题

这个是什么意思?应该如何理解?

img


这个getchae是什么意思?还有那个对十取余等于九是什么意思?

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-05 18:06
    关注

    引自免费微信小程序:皆我百晓生

    这段C语言代码是一个简单的联系人列表程序,它遍历一个结构体数组qw,打印每个联系人的信息,并且每10个联系人换一页显示。这里的关键部分是两个for循环、一个条件判断以及一些格式化的输出。

    首先,我们来看一下变量和结构体:

    • qw: 这应该是一个结构体数组,其中包含联系人的信息。
    • qw.sz[i]: 表示数组中的第i个元素,sz可能代表的是size,表示存储联系人信息的结构体集合。
    • qw.sz[i].name: 联系人的姓名。
    • qw.sz[i].sex: 联系人的性别。
    • qw.sz[i].dianhua: 联系人的电话号码。
    • qw.sz[i].year: 联系人的年龄。
    • qw.sz[i].leibie: 联系人的分类。

    接下来是代码的执行流程:

    1. 第一行(8)初始化一个名为i的计数器为0,用于遍历联系人列表。
    2. for循环开始,当i小于qw.size时继续执行循环。这会遍历整个联系人列表。
    3. 在循环内部,依次打印联系人的姓名、性别、电话、年龄和分类,每个字段后跟一个制表符\t以便于格式化。
    4. 循环结束后,调用getchar()函数暂停程序的执行,等待用户按下任意键,然后继续运行。

    然后是第二个for循环:

    1. 第二行(5)再次初始化计数器i为0,这次是为了在屏幕上分页显示联系人。
    2. 第三个for循环开始,与第一个类似,当i小于qw.size时继续执行。
    3. 在这个循环中,每输出一个人的信息后,会检查i是否能被10整除(即i % 10 == 0),如果可以,说明已经输出了10个人的信息,此时需要清空屏幕并从头开始新的一页。
      • 使用system("cls")命令清空屏幕。这在Windows系统上有效,其他操作系统可能需要不同的命令,比如Linux或macOS上可以使用system("clear")
    4. 接着,输出联系人的信息,格式与第一个循环相同。
    5. i除以10的余数为9时,意味着这是本页的最后一个联系人。这时调用getchar()暂停程序,让用户有时间查看这一页面的信息,然后再按任意键继续到下一页。

    getchar()函数在这里的作用是用来接收用户的输入,通常是键盘上的一个按键。这样做的目的是为了暂停程序的执行,给用户足够的时间阅读当前屏幕上的信息,特别是当联系人数量较多时,分页显示会更友好。每次用户按下任意键后,程序会继续执行下一个联系人的输出。

    至于为什么对十取余等于九,这是因为每输出十个人后就到了一页的末尾,紧接着就是下一页的开始,因此当索引i除以10的余数为9时,就意味着需要进行新的一页的处理(清屏并继续输出)。通过这种方式,代码实现了自动换页的功能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月13日
  • 已采纳回答 6月5日
  • 创建了问题 6月5日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗