Objective-C随机数

Dum*_*ode 0 random objective-c

我有一段代码给了我一些麻烦,令人困惑.

这是一段代码......

int r = rand() % 100;
printf("Random number: %u", r);
Run Code Online (Sandbox Code Playgroud)

为什么每次打印7?根据这本书它应该打印任何数字0-100我相信......我错了吗?

sos*_*orn 10

你必须先播种它:

srandom(time(NULL));
Run Code Online (Sandbox Code Playgroud)

实际上最好只使用arc4random:

int r = arc4random() % 100;
printf("Random number: %u", r);
Run Code Online (Sandbox Code Playgroud)

  • `srandom`用于播种`随机'.使用`srand`播种`rand`.当你将模数应用于结果时(例如在这里完成),最好使用`arc4random_uniform`而不是`arc4random`. (5认同)