iOS srand(time(0))

转载:http://blog.csdn.net/kongfanyu/article/details/6387642

计算机没有办法产生真正的随机数的,是用算法模拟,所以你只调用rand,每次出来的东西是一样的。设置一个种子后,根据种子的不同,就可以产生不同的数了。而怎么保证种子的不同呢?最简单的办法当然是用永远在向前的时间。

srand(time(0)) ;//先设置种子
rand();//然后产生随机数

Srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样。为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值(因为每时每刻时间是不一样的了)。

srand(time(0)) ;

就是给这个算法一个启动种子,也就是算法的随机种子数,有这个数以后才可以产生随机数, 
用1970.1.1至今的秒数,初始化随机数种子。

参考案例

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main( void )
{
    int i;
    
    srand(time(0));
    
    /* 输出 10 个随机数. */
    for( i = 0;   i < 10;i++ )
        printf( "  %6d/n", rand() );
}

输出结果:

22614
   15772
   30620
   24913
    7556
   31659
   27876
   27229
   25083
   16564

时间: 2024-11-07 09:45:23

iOS srand(time(0))的相关文章

IOS总结_IOS7.0以后改变状态栏字体颜的问题

首先info.plist文件中,加入View controller-based status bar appearance项 如果设为YES,则View controller对status bar的设置优先级高于application的设置:设置为NO则以application的设置为准. 虽然7.0SDK后在UIViewController中也加入加入了 - (UIStatusBarStyle)preferredStatusBarStyle NS_AVAILABLE_IOS(7_0); //

iOS 应用2.0版怎么做(转)

移动互联网如火如荼,iOS 应用+ Android 应用+ 手机站似乎成了所有互联网公司的标配,你的网站要是还没有个iOS 应用,似乎都不好意思跟人打招呼.iOS 应用诞生毕竟才只有不到5年的时间,各个方面还都处在起步阶段.不管是出于团队缺乏经验,还是那个“唯快不破”的铁律,往往这些iOS 应用的第一个版本都比较简陋,尤其在技术架构上.这篇文章,我想跟大家探讨的就是这个问题,当你的iOS应用已经有一个版本在线的情况下,如何去构建一款可以支持高效迭代,快速响应的2.0版.首先,应用的架构要层次清晰

ShareSDK for iOS 2.9.0已经发布

ShareSDK for iOS v2.9.0已经发布,本次更新内容包括: 1.修复Facebook获取用户信息报错问题 2.修复Instagram在iPad上显示分享菜单错误问题,需要指定菜单容器. 3.修复人人网分享不能在手机客户端显示问题. 4.增加明道.Line.WhatsApp平台分享. 5.修复iPhone越狱设备安装handyPhone插件时崩溃问题. 新版本SDK下载地址: http://sharesdk.cn/Download/ Wiki已经完成更新,地址为: http://w

error items-9022:missing required icon file.the bundle does not contain an app icon for iPhone/iPad Touch of exactly &#39;120x120&#39; pixels,in.pen format for ios versions &gt;= 7.0

error items-9022:missing required icon file.the bundle does not contain an app icon for iPhone/iPad Touch of exactly '120x120' pixels,in.pen format for ios versions >= 7.0 最近提交itunesconnect应用时,有个警告说缺少120x120图标 以下是本人解决方法: 添加Icon_120x120.png-->.plist添

iOS获取当天0点

最近一个公司一个项目里有个坑,显示不了0点的数据,修改起始时间为前一天23点59分59秒则可以显示. 查看了获取当天0点代码,和网上查到的结果基本一致,如下所示(使用Category On NSDate): 1 - (NSDate *)zeroOfDate 2 { 3 NSCalendar *calendar = [NSCalendar currentCalendar]; 4 NSDateComponents *components = [calendar components:NSUInteg

VLC for iOS 2.3.0

http://www.cocoachina.com/bbs/read.php?tid=231898 VLC for iOS 2.3.0 本帖属于CocoaChina会员发表,转帖请写明来源和帖子地址 关于VLC配置问题,根据个人经验整理了一下,希望能帮到需要的朋友. 官网链接:https://wiki.videolan.org/IOSCompile/ 百度云盘链接:http://pan.baidu.com/s/1bnEOXPH 密码:ur4l 配置说明(百度云盘) 官网按照说明操作就可以了只是下

The bundle does not contain an app icon for iPhone / iPod Touch of exactly &#39;57x57&#39; pixels, in .png format for iOS versions &lt; 7.0”

用Xcode6 或 Application Loader发布时总是提示“Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '57x57' pixels, in .png format for iOS versions < 7.0” 修改 deployment info 中 target The bundle does not contain

Objective-C中 Block 在iOS在4.0版本的使用

了解何谓block. 了解block的使用方法. Block 是iOS在4.0版本之后新增的程序语法. 在iOS SDK 4.0之后,Block几乎出现在所有新版的API之中,换句话说,如果不了解Block这个概念就无法使用SDK 4.0版本以后的新功能,因此虽然Block本身的语法有点难度,但为了使用iOS的新功能我们还是得硬着头皮去了解这个新的程序概念. 一.看一看什么是Block 我们使用'^'运算符来声明一个Block变量,而且在声明完一个Block变量后要像声明普通变量一样,最后要加'

[iOS UI进阶 - 0] Quiartz2D

A.简介 1. 需要掌握的 drawRect:方法的使用 常见图形的绘制:线条.多边形.圆 绘图状态的设置:文字颜色.线宽等 图形上下文状态的保存与恢复 图形上下文栈 1.基本图形绘制* 线段(线宽.线段样式)* 矩形(空心.实心.颜色)* 三角形.梯形等形状* 椭圆\圆* 圆弧* 文字绘制* 图片绘制(pattern)* 图形上下文栈 2.练习(画人) 3.模仿UIImageView 4.自定义checkbox 5.图片裁剪 6.图片水印 7.条纹背景 8.截图     2.概念 Quartz