鱼C论坛

 找回密码
 立即注册
查看: 1927|回复: 7

c++while条件式判定

[复制链接]
发表于 2016-1-2 18:37:26 | 显示全部楼层 |阅读模式
10鱼币
#include<iostream>
int main()
{
  int sum=0,value;
  std::cout<<"input a number"<<std::endl;
  while(std::cin>>value)
  {
          std::cout<<"input the next number"<<std::endl;
          sum+=value;
  }
  std::cout<<"sum is: "<<sum<<std::endl;
  return 0;
}
当输入零时,会不断循环,但零不是假值吗?结果如下 QQ截图20160102182052.png
当输入1,2,3,4,5.0时,当输入5.0并按空格后循环结束并显示15结果如下 QQ截图20160102183123.png
为什么会出现这种情况?如果5.0不符合类型则因该跳出循环,结果为10,但结果是输入5.0并按空格后循环有执行了两次,为是么会这样呢?条件式究竟怎样判别呢?@丁丁 @小甲鱼 @ryxcaixia @向往青莲 @wzy997991067 @无名侠
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-2 18:37:27 | 显示全部楼层
cin is a (global) variable of type istream , not a function. The istream class overrides the >> operator to perform input and return a reference to the object you called it on ( cin )
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-2 18:51:52 | 显示全部楼层
cin>> 是个函数  返回指  只要你输入就返回真 你应该该成 cin>>value;
while(value)
{

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-2 19:01:42 From FishC Mobile | 显示全部楼层
但为什么判別的是函数返回值而不是value?然后就是cin不是一个istream对象么?是cin>>是一个函数还是>>是一个函数呢?再请教一下。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-3 15:10:54 From FishC Mobile | 显示全部楼层
似乎有点明白了。。还有,小甲鱼老师,这话可不可以这样理解:“cin是一个istream类型的全局变量,而不是一个函数。istream类重载>>操作符来执行输入操作并返回一个引用到(cin)”。。。但最后那个reference是啥意思?是一个值吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-4 01:18:45 | 显示全部楼层
夜礼服 发表于 2016-1-3 15:10
似乎有点明白了。。还有,小甲鱼老师,这话可不可以这样理解:“cin是一个istream类型的全局变量,而不是一 ...

reference 可以理解为一个指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-7 00:35:44 | 显示全部楼层
0它也是個整數阿 當然會一直進入迴圈  你必須要設
while(std::cin>>value)
{
if(value==0)
break;
std::cout<<"input the next number"<<std::endl;
          sum+=value;
}
或是
while(std::cin>>value && value!=0)
{
std::cout<<"input the next number"<<std::endl;
          sum+=value;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-10 14:53:01 From FishC Mobile | 显示全部楼层
好的。。谢谢*^_^*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 18:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表