在std::cin中按回车的意义探究

在1.4.4的练习中,习惯性的把enter看做是结束输入了。
结果发现按enter后程序并没有结束,只有在按ctrl+z 和enter后程序才结束,结果才正常。

#include<iostream>
int main() {
    int currVal = 0, val = 0;
    if (std::cin >> currVal) {
        int cnt = 1;
        while (std::cin >> val) {
            if (val == currVal)
                ++cnt;
            else {
                std::cout << currVal << " occurs " << cnt
                        << " times " << std::endl;
                currVal = val;
                cnt = 1;
            }
        }
        std::cout << currVal << " occurs " << cnt << " times " << std::endl;

    }
    return 0;
}

我先输入了 5 5 5 6 6 7 7 7,按下enter后,只输出了5 和6的结果,这说明程序仍然处于while 的循环当中,继续按enter,也没有输出7的结果,说明enter并没有作为一个输入进入cin中,输入8后,输出了7的结果,只有在ctrl+z和enter后,才正常输出。

以上说明,enter在输入的时候仅仅只有回车换行的作用,
既不能作为输入结束的标志,也不能作为一个 输入进入cin中。
在windows中只有ctrl+z和enter才是输入文件结束的标志。
以上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值