cin
如何拆分整数序列?下面给出了一个例子:
#include <iostream>
int main() {
int sum = 0, value = 0;
while (std::cin >> value) {
sum += value;
}
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
所以如果输入是: 3 10 30 2 5 输出将是: 50
但这是怎么发生的?这些值是否被视为某种数组/列表,或者是因为while循环而改变了单个变量的值?
初学者。
答案 0 :(得分:2)
以下是网站http://www.cplusplus.com/doc/tutorial/basic_io/的摘录:
cin上的提取也可以链接到请求多个数据 在一个声明中:
cin&gt;&gt; a&gt;&gt; B;
这相当于:
1 2
cin&gt;&gt;一个; cin&gt;&gt; B;
在这两种情况下,用户都需要引入两个值,一个用于 变量a,另一个变量b。任何类型的空间都用于 分开两个连续的输入操作;这可能是一个空间, 标签或换行符。
答案 1 :(得分:0)
cin
如何拆分整数序列?
简单,让我们在这里验证一些事情..
#include <stdio>
using std::cin;
首先,std::cin
是什么?它是在上面包含的标准I \ O库中创建的对象。
cin >> 123 >> "test" >> true;
什么是>>
以及它是如何运作的?它是std::cin
类中的函数。你在调用一个函数,怎么样?以上示例等同于以下内容..
cin.operator>>(123).operator>>("test").operator>>(true);
此处的诀窍(称为Method Cascading)是函数cin::operator>>
将返回cin
,因此代码将像这样工作..
cin.operator>>(123);
cin.operator>>("test");
cin.operator>>(true);