【发布时间】:2012-06-22 10:14:10
【问题描述】:
这是我的功能:
Random(int min, int max)
{
srand(time(NULL));
return (rand() % (max-min)) + 1;
// or
return (rand() % (max+min)) + 1;
// or
return (rand() % (max-min))
// or
return (rand() % (max+min))
};
而且它不起作用,如果我说 add Random(5, 10) 它有时会显示 15, 5, 4。我无法弄清楚,因为所有指南都说“这是它应该的方式是”,但它不起作用。我错过了什么?
这个方法是一个类的一部分。
我试过 srand(time(NULL)) 放在:
- 完全没有
- 在构造函数中
- 在方法中
没有结果。
rand() 不应该返回 0 到 1 之间的值吗?我的没有。
【问题讨论】:
-
您应该通过阅读文档并思考您编写的代码来“弄清楚”函数的工作原理,而不是尝试代码中相关标记的所有排列。