我在C:
中创建了这个随机数函数/************************************************************************
Function: randomNumber
Description: Generates a random float number between 0.0 and a given max
*************************************************************************/
float randomNumber(float max) {
float x = ((float)rand() / (float)(RAND_MAX)) * max;
return x;
}
如果我使用以下方式调用它:
randomNumber(1.0);
我每次都得到号码0.00125125889。
我过去曾多次使用它与其他程序/作业,但它不适用于我正在编写的当前程序,我不知道为什么。我在调用rand()之前尝试调用srand(time(NULL))(我从来没有在我的其他程序中这样做)并且它仍然无法正常工作。也许它可能是我正在使用的#defines,但我不知道它们与rand函数有什么关系。
如果有人能帮助我弄清楚它为什么不起作用,我将非常感激。
编辑:
它在for循环中似乎有用,为什么它不在外面工作?