为什么在使用G ++生成随机数时会出现浮点错误?

时间:2013-01-10 04:05:26

标签: c++ 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

你能否帮我纠正这个错误?

1 个答案:

答案 0 :(得分:11)

你正在%对抗0

for(int iteration=0; i<10; i++)
                  ^^^