c - 随机数功能失灵

标签 c objective-c iphone random

我有一个非常简单的 iPhone 应用程序,它需要 1-100 之间的随机整数。

我有一个调用随机数函数然后显示它的按钮。

-(IBAction)buttonReleased;
{
    srandom(time(NULL)); 
    int theNum = random() % 100 + 1;
    numberDisplay.text = [NSString stringWithFormat:@"%d", theNum];
}

问题是,如果我快速按下按钮,有时它不会显示新的随机数。

最佳答案

问题是你用 time 播种。

time 仅每秒更新一次,因此如果您在一秒钟内单击它,您将使用相同的数字为生成器播种,这意味着您将获得相同的数字。

您应该只在应用程序开始时播种一次。

关于c - 随机数功能失灵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1068350/

相关文章:

c++ - 有没有办法在 GTK3 应用程序中拥有 OpenGL 上下文?

c++ - 了解 Node.js 的 napi_value 类型的定义

c文件处理问题

iphone - Objective-C JSON 解析错误

iphone - cocos2d CCSprite 碰撞问题

ios - Apple 的 M7 处理器是否支持低功耗 GPS 跟踪?

c++ - 一种为 c 执行 c++ "typedef struct foo foo;"的方法

objective-c - RetainCount 可以在这种情况下使用吗?

objective-c - 为什么 fileManager copyItemAtPath :ToPath:error return an error, 成功复制文件时?

objective-c - 如何获取 CATextLayer 的环绕计数以计算高度