-2
我正在使用G ++編譯器。以下代碼正在編譯正確。爲什麼使用G ++生成一個隨機數時會出現浮點錯誤?
#include<iostream>
#include<cstdlib>
#include<stdio.h>
using namespace std;
int random(int max)
{
return rand()/(RAND_MAX/max + 1);
}
int main()
{
for(int iteration=0; i<10; i++)
{
int myNum=random(130);
myNum=myNum-(myNum%iteration); /* This line causes exception. */
(myNum<0)?(myNum=myNum*-1):myNum;
cout<<"\nRandom number is "<<myNum<<"\n";
}
}
在運行時,它產生了以下異常..
g++ Implement.cc ./a.out Floating point exception
能否請你幫我糾正這個錯誤?
你的意思是「爲什麼我的代碼編譯失敗?」該行導致編譯錯誤,因爲'iteration'不是一個聲明的變量。 – bames53
@ barnes53發生運行時錯誤。您可以看到OP在哪裏運行a.out。 –
@ bames53 - 他說這是被正確編譯並顯示運行時輸出。但代碼缺失。迭代沒有在代碼中定義提供 – Matt