#include <stdio.h>
#include <stdlib.h>
int main()
{
int randomnumber;
randomnumber = rand() % 10;
printf("%d\n", randomnumber);
return 0;
}
这是一个简单的程序,其中 randomnumber 是一个未初始化的 int 变量,旨在打印为 1 到 10 之间的随机数。但是,每当我一遍又一遍地运行时,它总是打印相同的数字。有人可以帮忙告诉我为什么会这样吗?谢谢你。
最佳答案
每次执行都需要不同的种子。
你可以在程序的开头开始调用:
srand(time(NULL));
请注意,% 10
会产生从 0
到 9
而不是从 1
到 的结果10
:只需将 1
添加到您的 %
表达式即可将 1
变为 10
。
关于c - 在c中生成一个1到10之间的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17846212/