c++ - 通过控制台传递非整数输入

标签 c++ console

我有这段代码:

int obj;

    while ( std::cin >> obj )
    {
        std::cout << obj << std::endl ;
        int temp = obj ;
        ++ temp;
        std::cout << temp << std::endl ;
    }

当我给出正确的整数输入时,我理解输出。

例如。如果我得到 12 作为输入,我会在控制台上看到类似这样的内容:

12
12
13

但是,如果我给出一些带有空格的整数作为输入,我似乎无法理解输出。

例如。如果我输入 12 12 12 12,我会在控制台上看到:

12 12 12 12
12
13
12
13
12
13
12
13

有人可以解释一下吗?

最佳答案

第一个示例包含您的输入。

输入

12

输出

12
13

第二个示例就是这样,对于作为输入收到的 4 个数字中的每一个,都乘以 4 次。分隔符是“空白”——空格、换行符或制表符。它不是“非整数”,而是“四个整数”:

输入:

12 12 12 12 

相当于

12
12
12
12

输出:

12
13
12
13
12
13
12
13

关于c++ - 通过控制台传递非整数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291748/

相关文章:

c++ - 计算文件中的换行符

c++ - 搜索二维数组 C++

c++ - 在创建派生类对象时初始化基类成员的更好方法是什么?

c++ - _read 函数返回文件句柄的过时值

c++ - 在控制台应用程序中包含 "help"消息的最佳方法是什么?

java - Java 控制台中的颜色

c# - 如何检查我的 Discord.Net 机器人是否已连接到语音 channel

javascript - 如何恢复已被网站禁用的 console.log() 功能?

c# - 使用 Console.WriteLine (C#) 或 printfn (F#) 编写粗体文本?

php - 管道标准输出到浏览器