循环和文本输入(一):使用原始的cin进行输入

如下代码:
#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
    char ch;
    int count = 0;
    cout << "Please Enter The Char String : " << endl;
    cin >> ch;
    while (ch != 'q') {
        cout << ch;
        ++ count;
        cin >> ch;
    }
    cout << endl << "The number of 'ch' is : " << count << endl;
    return 0;
}

说明

1.使用原始的cin语句进行输入,通过哨兵字符,即‘q’来作为输入停止的标记;
2.用户发送给cin的输入会被缓冲,这也是在哨兵字符之后可以接着输入字符的原因。只有按下Enter之后,输入的字符才会被发送给程序,程序这时才开始处理输入。
3.++count 和 count++的区别就是,前缀式会先改变自身的值再执行程序;而后缀式则是先执行程序再改变自身的值
4.count用来计算非哨兵字符之前的字符输入数,在初始化的时候被赋值为0,如果输入的第一个字符就是哨兵字符,不执行while循环处理语句,此时count的值依然为0;如果输入的第一个字符不是哨兵字符,则会执行while语句:输出并显示之前的字符--->改变count的值--->执行的下一次输入。所以说,count的值是准确的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容