所以我目前正在学习 C,我对该random()函数的工作方式有些困惑。我知道我必须提供一个种子,但我不知道如何实际生成随机数。
srandom(seed);
long int value= random(40);
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,它给了我一个编译器错误:
too many arguments to function ‘long int random()
Run Code Online (Sandbox Code Playgroud)
最终目标是获得 1 到 40 之间的随机数。我应该补充一点,目标是不使用该rand()函数。
您的问题的答案由编译器准确回答。您将'40'传递给它不应该接收的函数random()。
random() 的签名是:
long int random (void)
Run Code Online (Sandbox Code Playgroud)
这里的void关键字表明手头的函数不应该接收任何东西。
这是一个生成 6 个随机数的示例程序。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
int max = 5;
for (int c = 0; c <= max; c++){
num = random();
printf("%d\n",num);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
fire-trail@Sahai-Yantra:~$ gcc try.c
fire-trail@Sahai-Yantra:~$ ./a.out
1804289383
846930886
1681692777
1714636915
1957747793
424238335
Run Code Online (Sandbox Code Playgroud)
要使用 实现在给定范围内生成随机数的最终目标random(),请参阅如何从范围内生成随机数。
| 归档时间: |
|
| 查看次数: |
28235 次 |
| 最近记录: |