我有这个简单的代码,我将值输入到两个浮点变量并显示它们。我无法理解的是如果我将输入作为非数字输入会发生什么。就像我输入'(没有'')一样,会产生一个奇怪的数字--2.69525 + 0323.21398e = 039。这个数字是如何以及为什么产生的?
#include<iostream.h>
int main()
{
float x,y;
cin>>x>>y;
cout<<x<<y;
return 0;
}
另外,如何阻止某人输入非数字值?我想过将数字存储在一个数组中,迭代它并使用isdigit(),也可以看一下是否出现一个小数点,它应该只出现一次,但这似乎不是一个好方法。有更好的方法吗?
答案 0 :(得分:4)
- 2.69525+0323.21398e=039
实际上是两个奇怪的数字,它们之间没有空格。
它们很可能是x
&amp;中的随机值。 y
开头。 cin
失败了,所以没有改变。