鱼C论坛

 找回密码
 立即注册
查看: 1765|回复: 13

[已解决]来自C语言教程 for语句嵌套 课后作业

[复制链接]
发表于 2021-2-3 15:50:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 cjh1 于 2021-2-3 15:53 编辑

不太理解 scanf 和 getchar在代码中的作用
最佳答案
2021-2-4 20:38:57
cjh1 发表于 2021-2-4 20:27
噢 明白了
最后我还有一个小问题 就是为什么老师要用嵌套一个do-while语句 而不直接用里面那个{:10_25 ...

看题目要求
B. 用户可以在同一行输入多个数字,数字之间可以是任意一个分隔符(如下图)

也就是,内层对应一行输入,(遇\n停)
外层对应全部输入
1.PNG
2.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-4 17:14:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 19:34:04 | 显示全部楼层
昨非 发表于 2021-2-4 17:14
不懂的方法函数可以先查看一下定义
https://www.runoob.com/cprogramming/c-function-scanf.html
https:/ ...

我主要是不是很了解他们在语句当中的作用 特别是第二个getchar()不是很明白他在句子当中的作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 19:36:31 | 显示全部楼层
cjh1 发表于 2021-2-4 19:34
我主要是不是很了解他们在语句当中的作用 特别是第二个getchar()不是很明白他在句子当中的作用{:10_245 ...

哪一句?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 19:46:52 | 显示全部楼层

图片1第16行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 19:54:37 | 显示全部楼层

第十五行scanf的返回值是成功匹配的个数(正常情况下为1)
第十六行的条件翻译一下就是:输入不为回车   且   成功匹配
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 20:06:13 | 显示全部楼层
昨非 发表于 2021-2-4 19:54
第十五行scanf的返回值是成功匹配的个数(正常情况下为1)
第十六行的条件翻译一下就是:输入不为回车   ...

getchar的作用是判断scanf()是否到达回车 可以这样理解么

我总觉得要输入两次 scanf一次 getchar一次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 20:19:39 | 显示全部楼层
cjh1 发表于 2021-2-4 20:06
getchar的作用是判断scanf()是否到达回车 可以这样理解么

我总觉得要输入两次 scanf一次 getchar一 ...

是同一次
而且真正退出循环用的是第二个条件:输入不是浮点型时(如:q)
status = scanf("%f", &num)的返回值就不是1,以此跳出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 20:27:37 | 显示全部楼层
昨非 发表于 2021-2-4 20:19
是同一次
而且真正退出循环用的是第二个条件:输入不是浮点型时(如:q)
status = scanf("%f", &num) ...


噢 明白了
最后我还有一个小问题 就是为什么老师要用嵌套一个do-while语句 而不直接用里面那个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 20:38:57 | 显示全部楼层    本楼为最佳答案   
cjh1 发表于 2021-2-4 20:27
噢 明白了
最后我还有一个小问题 就是为什么老师要用嵌套一个do-while语句 而不直接用里面那个{:10_25 ...

看题目要求
B. 用户可以在同一行输入多个数字,数字之间可以是任意一个分隔符(如下图)

也就是,内层对应一行输入,(遇\n停)
外层对应全部输入

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
cjh1 + 5 + 5 + 3 very nice

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 21:10:46 | 显示全部楼层
昨非 发表于 2021-2-4 20:38
看题目要求

也就是,内层对应一行输入,(遇\n停)

嗷嗷嗷 厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 21:17:28 | 显示全部楼层

楼主能不能给评分加个贡献
放心你不会有损失的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 21:34:27 | 显示全部楼层
昨非 发表于 2021-2-4 21:17
楼主能不能给评分加个贡献
放心你不会有损失的

ok

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
昨非 + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 21:36:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 11:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表