我正在生成0到11之间的数字,如下所示:
int n = arc4random() % 12;
但是,我想不要输出5或6。我怎么能这样做?
答案 0 :(得分:6)
你可以这样做:
int n = arc4random_uniform(10);
if (n >= 5) n += 2;
答案 1 :(得分:2)
如果您有这样的约束,请在代码中明确说明:
int n;
do {
n = arc4random() % 12;
} while (n == 5 || n == 6); //retry if encountered one of unallowable values