C++ cin和while cin

作者: goto2091
int main(){

    string input;
    vector<string> arr;

    while(cin >> input)
    {
        cout << "start"<<endl;
        arr.push_back(input);
    }
    cout << arr[arr.size()-1].length() <<endl;
    return 0;
}

输入 has map 得到的结果是出现了两次start打印。这是为什么?

输入了\n的时候发生了什么? 实际上,cin的原理是将输入的内容放入缓冲区,每当遇到\n后,将缓冲区内容输入至程序。即,输入\n后,cin>>input会正式执行。

由于input的类型是string, 所以 cin会跳过空格类的字符。于是while循环体执行了两次循环,分别将has 和 map两个字符串输入至input中。

而如果没有while循环的话cin只会执行向input中输入遇到的第一个字符串,便会结束,所以会用到while(cin >> input)
while(cin >> input)遇到\n的时候实际上cin >> input就会执行,将缓冲区的所有字符串循环放入input中,然后执行循环体中的指令,执行完毕后重新回到循环体开头,等待下一次从键盘中输入的内容。

如果想终止循环体,则输入Ctrl+D。

所以求题目字符串最后一个单词的长度,可以直接用以下的代码完成:

include<iostream>
include<string>
include<vector>
using namespace std;
int main(){

    string input;
    vector<string> arr;
    while(cin >> input)
    {
        arr.push_back(input);
    }
    cout << arr[arr.size()-1].length() <<endl;
    return 0;
}

原文创作:goto2091

原文链接:https://www.cnblogs.com/goto2091/p/13762307.html

更多推荐

更多
  • C++的智能指针学习笔记初 C++的智能指针学习笔记(初)要成为一个超一流的程序员。为什么要有auto_ptr?如何解决auto_ptr的设计和使用shared_ptr和unique_ptr
    goto2091

  • C++ 类继承 笔记初步 C++ 类继承 笔记(初步)要成为一个超一流的程序员。问题基类指针指向派生类对象多态公有继承为什么构造函数不能是虚函数常见面试题——析构函数为什么是虚函数虚函数的实现原理——虚函数表
    goto2091

  • C++ cin和while cin C++ cin和while cin要成为一个超一流的程序员。
    goto2091

  • "迷途"的野指针,都快找不着北了 MeloJun"迷途"的野指针,都快找不着北了悬垂指针/迷途指针定义野指针定义常见错误:写在最后1。指针定义时未被初始化:2。指针释放后没有置空:3。在方法中定义变量,返回该变量的地址free规避方法栈堆堆栈需要注意的问题
    Maven开发者

  • 重学c#系列字典十一 重学c#系列——字典(十一)
    敖毛毛

  • C语言 fread 函数 C语言零基础入门教程 C语言 fread 函数 - C语言零基础入门教程个人:www.codersrc.com一.fread 函数简介二.fread 函数使用三.猜你喜欢
  • C语言 全局变量和局部变量区别 C语言零基础入门教程 C语言 全局变量和局部变量区别 - C语言零基础入门教程个人:www.codersrc.com一.全局变量和局部变量简介二.全局变量和局部变量注意事项三.猜你喜欢1.全局变量简介2.局部变量简介
  • C语言 fwirte 函数 C语言零基础入门教程 C语言 fwirte 函数 - C语言零基础入门教程个人:www.codersrc.com一.fwirte 函数简介二.fwirte 函数使用
  • C语言 static C语言零基础入门教程 C语言 static - C语言零基础入门教程include 个人:www.codersrc.com一.static 简介二.static 修饰变量三.static 修饰函数四.猜你喜欢1.static 局部静态变量2
  • C语言 extern C语言零基础入门教程 C语言 extern - C语言零基础入门教程个人:www.codersrc.com一.简介二.extern 修饰变量三.extern 修饰函数四.猜你喜欢1.在单文件中使用 extern2.在多文件中使用 extern
  • 近期文章

    更多
    文章目录

      推荐作者

      更多