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

来源:互联网 发布:建筑设计模型制作软件 编辑:程序博客网 时间:2024/06/15 16:34

在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才是输入文件结束的标志。
以上。

0 0
原创粉丝点击