C++:cin的读取规则

(仅是个人见解,没有权威性)

1、缓冲器:cin即将各种字符存入到缓冲器中,即可想象成一个空间cin先存入,并读取到变量中(读取重点看光标位置,从光标位置之后开始读取)

2、先存入:当执行cin对象时,会将各种字符读入到缓冲器中,包括回车键('\n')、空格键(' ')、tab键('\t');

再读取:cin从第一个非空格、非回车、非tab键的位置开始读取,当与所要读取类型一致时则开始读取,遇上空格、tab键不再读取、回车结束,并且缓冲器中光标定位在空格、tab、回车之前。

3、建议:读入时模拟一下缓冲器状态即可,例如:

 

【光标用*表示】 

缓冲器状态1(初始状态):(空)

缓冲器状态2(执行cin对象时):(1)存入--         jgbgjkg fg

(2)读取:前面tab键内容不读,从j开始读取,故读完后为:        jgbgjkg* fg

故a=“jgbgjkg”;

缓冲器状态3(执行完第一个scanf语句):        jgbgjkg *fg

故b=' ';

缓冲器状态4(执行完第二个scanf语句):        jgbgjkg f*g

故c=‘f’;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值