读书人

关于cin两个整数的奇怪有关问题

发布时间: 2013-10-07 19:41:22 作者: rapoo

关于cin两个整数的奇怪问题
对于下面这段代码,为什么不可以输入两个小数呢?输入一个小数后,回车,就会发现神奇的现象。


int a, b;
cin>>a>>b;
整数 cin
[解决办法]
需要读取int,结果发现了小数点,会导致cin流状态fail,这个时候就需要对流状态进行修复了,并对缓冲的内容进行清理
[解决办法]
对啊,输入的计算机要读入int,遇到不认识的字符就认为读取失败
[解决办法]
你去火车站接两个人,没发现符合要求的,回家老妈大骂“两条狗你都接不回来要你何用”,你感觉如何?
c语言的scanf通过字符串指定输入数据的类型,c++的cin通过函数重载来判定输入数据的类型,但不管是哪一种,只有你指定了“我需要什么类型的数据”,它才能对键盘的输入进行相应的处理来获取相应的数据
[解决办法]
引用:
但是问题是float可以自动转换成int呀

你找不到符合条件的人,就知道你该找的不是人是狗?你怎么知道不是猪牛羊马外星人?
float可以自动转换成int?电脑怎么知道你输入的是个float?它怎么知道你输入的不是一个有特定意义的字符串?它唯一该做的,就是你告诉它你需要int,它就把键盘的输入按int处理,就这样。
[解决办法]
引用:
Quote: 引用:

你去火车站接两个人,没发现符合要求的,回家老妈大骂“两条狗你都接不回来要你何用”,你感觉如何?
c语言的scanf通过字符串指定输入数据的类型,c++的cin通过函数重载来判定输入数据的类型,但不管是哪一种,只有你指定了“我需要什么类型的数据”,它才能对键盘的输入进行相应的处理来获取相应的数据


但是问题是float可以自动转换成int呀

转换发生在程序中得到数据了以后

读书人网 >C++

热点推荐