函数'rand'的参数太多了?

时间:2014-02-09 18:52:55

标签: c

我只使用了两次该功能,它显示上述错误。有人可以解释编译器为什么这样做吗?

void printrandom()
{
    int x = (rand(5)+1);
    int y = (rand(5)+1);
    printf("%d and %d - a total of %d", x, y, (x+y));
}

2 个答案:

答案 0 :(得分:2)

实际上是rand(void),这就是你收到错误的原因。

尝试int x = (rand() % 5) + 1;

Daniel指出,

编辑,使用%实际上会影响概率。有关如何解决此问题,请参阅his link

答案 1 :(得分:-1)

rand()功能声明

int rand(void);  

这意味着它不需要参数。从5移除rand。如果您要生成从15的随机数,您可以这样做

int x = rand()%5 + 1;