这是我的代码
#include <stdio.h>
#include <stdlib.h>
main()
{
int r = rand() % 20;
printf("%d", r);
}
我想得到一个 19 及以下的随机数,但它只会在我1
每次编译和运行它时给我。有人可以告诉我我做错了什么吗?
尝试
#include <stdio.h>
#include <stdlib.h>
int main()
{
srand(time(NULL));
int r = rand() % 20;
printf("%d", r);
}
注意:使用 % 并不是获得均匀分布的好方法。
请参阅:初始化 srand 的推荐方法?了解更多信息。
阅读有关播种随机数生成器的信息 - 即http://linux.die.net/man/3/srand
如果您使用的是 Turbo C++ 4.5,那么放一个
randomize();
前
int r=rand()%20;
它也会给出你想要的结果。