标题:cin.get(ch)和ch = cin.get()返回值的方式
取消只看楼主
Jeff_
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-3-25
结帖率:75%
已结贴  问题点数:10 回复次数:2 
cin.get(ch)和ch = cin.get()返回值的方式
#include <iostream>
int main()
{
using namespace std;
char ch;
int count = 0;
cin.get(ch); //或者 ch=cin.get( );
while (cin.fail() == false) // while ( ch != EOF )
{
cout << ch; //cout.put (ch) ;
++count;
cin.get(ch); //cin.get( );
}
cout << endl << count << " characters read\n";
return 0;
}

“cin.get(ch)返回一个对象,而不是读取的字符”这句话是怎么理解的?如果不是读取的字符为什么cout<<ch,又可以直接输出字符呢?他的输出方式是怎么回事?
其和ch=cin.get(),cout.put(ch)的输出方式又有什么不同呢?ch=cin.get(),cout.put(ch)的输出方式又是什么样的呢?
搜索更多相关主题的帖子: cin get cout put 输出 
2018-07-18 12:44
Jeff_
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-3-25
得分:0 
回复 2楼 自学的数学
传递输入字符的方式—>赋值给参数ch,与,在到达EOF值时,不会赋值给ch,ch只是接收输入字符。这两句话有点绕,不冲突吗,能不能解释一下,谢谢
2018-07-19 21:34
Jeff_
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-3-25
得分:0 
既然输入的字符赋给了ch,那函数判断ch != EOF 为什么也不可以(我试验了结果时 :输入字符当按下ctrl+z时将会一直输出)
int count = 0;
cin.get(ch);
while (ch != EOF)               
{
cout << ch; //cout.put (ch) ;
++count;
cin.get(ch); //cin.get( );
}
2018-07-19 22:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488662-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.594869 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved