C++学习笔记(一):读取数量不定的输入数据

    在程序的编写过程中会遇到这样的情况,有时候我需要得到输入的量,但是又不知道输入的量有多少,那此时怎么把这些输入的量获取呢? 一开始我想的是使用for或者while循环来逐个获取输入,但是我不知道输入的个数具体有多少,那么判断的时候又不好判断,这可如何是好?

    后来发现了一种比较快捷的方法,但是前提是必须对C++中的cin和cout有深刻的理解。代码如下:     

#include <iostream>

int main()
{
     int  sum = 0, value = 0;
     //读取数据直到遇到文件尾,计算所有输入的值的和
     while(cin >> value)//此处是重点
      {
          sum += value;
       }
      cout << " sum is: "<< sum <<endl;
      return 0;
}
如果输入 1 2 3 4

结果输出 sum is:10

    while循环的判据就是表达式cin >> value,这个表达式代表从标准输入中读取下一个数,保存在value中。输入运算符返回的是其左侧的对象,即cin。故这个循环检测的实际上是cin。

    当使用一个istream(即cin)对象作为条件时,其效果是检测流的状态。若流有效,没有遇到错误,那么检测成功。当遇到文件结束符或者无效输入(本例中无效输入为非整型)时,cin会处于无效状态,循环会停止。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值