如何使用 rand() 生成随机数?

How can i generate random numbers with rand()?

我编写的这段代码需要帮助。问题是我希望它生成从 1000 到 9999 的随机数。但是如果你 运行 它,它 returns 高于 9999 的数字。我已经阅读了一些关于正确使用方法的论坛 rand() 但我还是卡住了。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{

    int w = 0;
    int mi;
    int i;
    srand(time(0));
    for(i=0;i<=20;i++)
    {
    mi= rand() % 9999+1000;    
    printf("%d\n",mi);
    }
    return 0;
}

如果您需要 1000 到 9999 之间的数字,这意味着您需要 9000 个数字范围内的值。所以这个值需要是你的模数,而不是 9999。

mi = rand() % 9000 + 1000;