cin使用注意几点(持续更新...)

1 篇文章 0 订阅
1 篇文章 0 订阅

cin使用注意几点:

1. cin可以忽略 有效输入 之前 的分隔符(空格、制表符\t、换行符\n)

    举例说明:

    char ch = ‘a’;

    std::cin >> ch ;

    std::cout << ch << '\n';

    当从键盘 输入 [enter] [enter]    [enter]z  即 输入 回车、空格、回车、制表符\t、回车、字符z

    这些分隔符也会存储在输入缓冲区中,回车键以 换行字符 ‘\n’ 存储,空格键 以 空格字符 ‘ ’ 存储,tab键 以 制表符 ‘\t’ 存储

    cin从输入缓冲区读取字符时,此时输入缓冲区中存储的分别是 换行符(‘\n’)、空格(' ')、换行符(‘\n’)、制表符('\t')、

    换行符(‘\n’)、字符z

    读取过程: cin在读取输入缓冲区时,第一个遇到 换行符,cin 忽略并删除 缓冲区中的第一个换行符;然后继续读取第二个

    字符,此时字符为空格字符,cin 也忽略并删除缓冲区中的第二个字符(空格字符);继续读取第三个字符(换行符),cin

    忽略并删除 输入缓冲区中的换行符;继续读取第4个字符(制表符),cin 忽略并删除 制表符;继续读取第5个字符(换行符)

    ,忽略并删除 换行符;继续读取第6个字符(字符z),将字符z存入字符变量ch中。

    输出:cin可以忽略有效输入 z 之前的那些分隔符,最终 ch 的值为z,程序最终输出 z

    理解重点:

    1. cin读取过程中, 若缓冲区中的第一个字符为分隔符,则可以忽略并删除 输入缓冲区中的 分隔符(空字符、换行符、制表              符);

    2. 若缓冲区为空,cin会阻塞等待数据到来;

    3. 若从键盘输入一个字符串 hello ,只有按下回车后,字符串才会被送入输入缓冲区,此时,输入缓冲区中 实际上有6个字              符,而不是5个字符,最后一个回车会转化为 换行符(‘\n’)存储在输入缓冲区中;

    注意:cin 只是忽略 分隔符,但实际读取输入缓冲区中是存在分隔符的。

 

2. cin>> 连续输入

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值