oc之随机数

其实不想写的,但是无奈竟然还有一些人被网上的“复制大神”误导了。

虽然上网搜一大推,但是千篇一律啊有木有,下面看下网上的代码

通过arc4random() 获取0到x-1之间的整数的代码如下:

int value = arc4random() % x; 



获取1到x之间的整数的代码如下: 

int value = (arc4random() % x) + 1; 

对于以上代码我想问,如何生成21到30之间的整数呢?是不是一般新手就误导为 int value = (arc4random() % 30) + 21 了啊?是不是有人已经这些写过了,写过的麻烦举个手让我看看,哈哈。上网一搜一大推 千篇一律 你们这么复制粘贴,对得起那些莘莘学子吗????

下面跟着我正确理解一下arc4random用法:

arc4random()%x+y :意思是随机生成y到y+x之间的随机整数。不包括(y+x)。
y:意思是从y开始(包括y)
x:是一个范围
下面看例子

   int value=arc4random()%3+21;
   //生成的是数只可能是21,22,23这三个整数。也就是生成21到(21+3)24(不包括24)之间的随机整数。

理解了这个例子,下面我们在说网上的代码的由来:

//获取0到x-1之间的整数
int value = arc4random() % x+0;
上面代码可以省去0后,其实也可以写成:
int value = arc4random() % x; 


//获取1到x之间的整数的代码: 
int value = arc4random() % x+ 1; 
其实在视觉上为了让用户觉得x是和前面arc4random() %是一体的,就加了个括号,这个括号如果你不迷的话是可要可不要的:
int value = (arc4random() % x) + 1; 

ok,相信看了我这篇文章,小白再去取21到30之间的随机数时就不会再理解arc4random错误然后写成int value = (arc4random() % 30) + 21 了吧。请允许我偷偷笑一下。。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值