getchar()函数和do~while语句中的表达式
请问一下,如图的代码是什么意思,getchar()函数放在while括号里面表示的是什么意思?请求大家的帮忙解答,谢谢! 补图 getchar() != '\n'的意思是 获取 字符 '.' 不会结束循环吧?
还是说 getchar() 是读取下一位 字符 12.3 把这个小数点 '.' 隔开读取下一位数字? 本帖最后由 YiMingC 于 2019-9-26 19:38 编辑
你可以参考一下这篇文章[函数快查] scanf -- 格式化输入
文中提到scanf的返回值:
“如果函数调用成功,返回值是成功获取并填充到附加参数中的个数。
如果函数调用失败,返回值小于附加参数的个数(甚至是 0)。
如果读取到标准输入流的结尾处,则返回 EOF。”
这里do..while作为一个出口判断,判断条件是读取的内容必须既不是换行符,又要有数据,才会再次循环,目的就是为了把输入的数据读取完全,并累次相加。 画载舟中 发表于 2019-9-26 19:31
getchar() != '\n'的意思是 获取 字符 '.' 不会结束循环吧?
还是说 getchar() 是读取下一位 字 ...
do...wile(getchar() != '\n' && status == 1);
这里面 gerchar() != '\n' 是这次循环遇到回车 '\n' 结束这次循环 如果没有 你只要输出整数(浮点数) 它就无限循环除非 status != 1 才会结束 1091625004 发表于 2019-9-26 19:02
补图
有全部程序吗?一部分不太好判断。
这个程序能正确运行吗 满足输入的字符是回车 且status等于1执行循环体,getchar()是输入字符直到按回车才有返回,例如输入,abcd回车,回车后即开始返回,(与while里的回车不是一回事),然后逐个循环,直到回车(即while里的回车) !=是不等于,说错了,第一句
页:
[1]