我只使用了两次该功能,它显示上述错误。有人可以解释编译器为什么这样做吗?
void printrandom()
{
int x = (rand(5)+1);
int y = (rand(5)+1);
printf("%d and %d - a total of %d", x, y, (x+y));
}
答案 0 :(得分:2)
实际上是rand(void)
,这就是你收到错误的原因。
尝试int x = (rand() % 5) + 1;
编辑,使用%
实际上会影响概率。有关如何解决此问题,请参阅his link。
答案 1 :(得分:-1)
rand()
功能声明
int rand(void);
这意味着它不需要参数。从5
移除rand
。如果您要生成从1
到5
的随机数,您可以这样做
int x = rand()%5 + 1;