【发布时间】:2014-08-01 21:01:12
【问题描述】:
我有这个简单的代码,我将值输入到两个浮点变量并显示出来。我无法理解的是,如果我将输入作为非数字输入会发生什么。就像我输入'a'(没有'')时,会生成一个奇怪的数字——2.69525+0323.21398e=039。这个数字是如何以及为什么产生的?
#include<iostream.h>
int main()
{
float x,y;
cin>>x>>y;
cout<<x<<y;
return 0;
}
另外,如何阻止某人输入非数字值?我想将数字存储在一个数组中,遍历它并使用 isdigit(),这也是查看小数点是否出现并且它应该只出现一次的情况,但这似乎不是一个好方法。有更好的方法吗?
【问题讨论】:
-
输入失败,如果您检查了返回值,您就会知道,并且变量会保留它们在声明它们时具有的随机未初始化值。
-
即随机值
x和y被初始化。这就是为什么你应该总是初始化你的变量。 -
@RetiredNinja 我不知道这是否是一个非常愚蠢的问题,但我如何检查 main() 返回的值?