关于cin两个整数的奇怪问题
对于下面这段代码,为什么不可以输入两个小数呢?输入一个小数后,回车,就会发现神奇的现象。
整数 cin
int a, b;
cin>>a>>b;
[解决办法]
需要读取int,结果发现了小数点,会导致cin流状态fail,这个时候就需要对流状态进行修复了,并对缓冲的内容进行清理
[解决办法]
对啊,输入的计算机要读入int,遇到不认识的字符就认为读取失败
[解决办法]
你去火车站接两个人,没发现符合要求的,回家老妈大骂“两条狗你都接不回来要你何用”,你感觉如何?
c语言的scanf通过字符串指定输入数据的类型,c++的cin通过函数重载来判定输入数据的类型,但不管是哪一种,只有你指定了“我需要什么类型的数据”,它才能对键盘的输入进行相应的处理来获取相应的数据
[解决办法]
你找不到符合条件的人,就知道你该找的不是人是狗?你怎么知道不是猪牛羊马外星人?
float可以自动转换成int?电脑怎么知道你输入的是个float?它怎么知道你输入的不是一个有特定意义的字符串?它唯一该做的,就是你告诉它你需要int,它就把键盘的输入按int处理,就这样。
[解决办法]
转换发生在程序中得到数据了以后