sam*_*oul 33 c++ floating-point
我正在为Euler项目问题3构建一个程序,虽然这可能并不重要,因此我当前正试图使这个代码取一个数字并测试它是否是素数.现在,在我对函数进行故障排除之前,它在输入数字后立即给出了错误"浮点异常".这是代码:
int main()
{
int input;
cout << "Enter number: " << endl;
cin>> input;
int i = input/2;
int c;
for (i>0; i--;) {
c= input%i;
if (c==0 || i == 1)
cout << "not prime" << endl;
else
cout << "prime" << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以本质上为什么它给我一个浮点异常,这甚至意味着什么?
fre*_*low 35
for (i>0; i--;)
Run Code Online (Sandbox Code Playgroud)
可能是错的,应该是
for (; i>0; i--)
Run Code Online (Sandbox Code Playgroud)
代替.注意我把分号放在哪里.条件是在中间,而不是在开始时.
Pet*_*ete 10
浮点异常的原因很多.看看你的代码你的for循环似乎有点"不正确".看起来可能是零除.
for (i>0; i--;){
c= input%i;
Run Code Online (Sandbox Code Playgroud)
因为你在减少我,所以在某些时候除以零.