来自范围中间没有特定数字的范围的随机数

kus*_*uya 0 random int objective-c

我正在随机生成0到11之间的数字,如下所示:

int n = arc4random() % 12;
Run Code Online (Sandbox Code Playgroud)

但是,我想不要输出5或6.我怎样才能做到这一点?

Emi*_*aez 6

你可以这样做:

int n = arc4random_uniform(10);
if (n >= 5) n += 2;
Run Code Online (Sandbox Code Playgroud)

  • 这是更好的答案.虽然你应该使用`arc4random_uniform`. (2认同)