鱼C论坛

 找回密码
 立即注册
查看: 1432|回复: 5

[已解决]B是怎么实现的?

[复制链接]
头像被屏蔽
发表于 2019-9-14 13:27:09 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2019-9-14 13:27:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-14 14:20:02 | 显示全部楼层    本楼为最佳答案   
本帖最后由 superbe 于 2019-9-14 14:29 编辑

scanf返回的是成功赋值的数量。输入1a1后,1被赋值到num,返回status==1,然后while(getchar()!='\n' && status==1);里面的getchar()吃掉一个字符a,并且判定这个字符!='\n'成立,所以 真&&真==真。
继续执行内循环,读入1给num,status==1,然后再执行while(getchar()!='\n' && status==1);这时因为1a1后面没有了,getchar()吃掉的是'\n',并且判定这个字符!='\n'不成立,所以 假&&真==假,
于是内循环结束,下面又重新外循环,处理下一行(处理时会把上次的1加上)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2019-9-14 14:40:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-14 15:41:49 | 显示全部楼层
1.函数返回值是函数经过处理得到的一个结果,比如是计算得到的一个值,逻辑真或假,等等。程序可以利用这个返回值做后面的处理。比如一个判断是否及格的函数返回真或假,我可以根据这个值,如果真就打印”恭喜你通过了.“,如果假就打印”你还要继续努力“.
不一定是给main,给调用它的函数,或给一个变量(比如staus)。
2.是的。其实scanf返回值的是成功赋值的个数,不会返回字符。比如scanf("%f",&n);要求输入一个数,假如你输入的是英文字母,它没办法给n,所以返回值就是0,代表1个也没有成功赋值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2019-9-14 17:08:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 01:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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