首页 > 分享 > cin.get(ch)与ch = cin.get()的区别

cin.get(ch)与ch = cin.get()的区别

最新推荐文章于 2023-08-31 16:16:02 发布

JiandaoStudio 于 2018-12-11 11:01:36 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

cin.get(ch)和ch = cin.get()的区别

ch = cin.get() ;    //先调用cin.get()函数,然后将该函数的返回值赋给ch,语句的结果为ch的值。

cin.get(ch);    //在到达EOF值时,不会赋值给ch,ch只是接收输入字符。

二者的区别在一些经典的C++书籍《C++Primer Plus》中被总结成下表形式:

cin.get(ch)与cin.get()

属性    cin.get(ch)ch = cin.get()传递输入字符的方式赋值给参数ch将函数返回值赋给ch用于字符输入时函数的返回值   istream对象(执行bool转换后为true   )int类型的字符编码到达EOF时函数的返回值istream对象(执行bool转换后为false   )EOF

一般使用cin.get(ch),因其更符合对象方式,返回值是istream对象,这意味着可以讲它们拼接起来:

cin.get(ch1).get(ch2);

举例解释:

下面两种你认为有问题吗(自):   另:getchar()这个函数是不带参数的吧?  不能这样写 getchar(ch),我试了下 报错了,但是putchar(ch) 这个是带参的,注意区分

char ch;

while((ch = cin.get() ) != EOF) {}    ---正确(因为cin.get()那几个重载函数里面,只有不带参数的返回值是int型,而EOF为 -1)

while(cin.get(ch) != EOF) {}            ---错误(因为带参数的cin.get() 的返回值是流对象,即iostream对象)

                                            

扫码关注本人微信公众号,有惊喜奥!公众号每天定时发送精致文章!回复关键词可获得海量各类编程开发学习资料!

例如:想获得Python入门至精通学习资料,请回复关键词Python即可。

相关知识

CH 2 =CH
车的笔顺 笔画数:4 拼音:jū,chē 部首:车 笔画数:4 拼音:jū,chē 部首:车
杏花春雨 xìng huā chūn yǔ
车的笔顺 笔画数:4 拼音:jū,chē 部首:车
【CH3CH=C(CH3)—COOH加聚还有几个方程CH2=CH
“黄鹂晚出柳园花( huáng lí wǎn chū liǔ yuán huā )” 唐 ·钱起
旅游|河内四大户外摄影花海 Bốn địa điểm chụp ảnh ngàn hoa lớn nhất Hà Nội
520表白神器(中文版)
春风(chūn fēng)原文、平仄韵律对照、注音、翻译、总结、赏析
对于化学反应:CH 4 (g)+H 2 O(g)===CO(g)+3H 2 (g

网址: cin.get(ch)与ch = cin.get()的区别 https://m.huajiangbk.com/newsview1129994.html

所属分类:花卉
上一篇: 新年+情人节=玫瑰新品,给你不一
下一篇: 织梦中flag和noflag的区