Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 来自兰德()的非常奇怪的数字_Objective C_Ios - Fatal编程技术网

Objective c 来自兰德()的非常奇怪的数字

Objective c 来自兰德()的非常奇怪的数字,objective-c,ios,Objective C,Ios,我从这个函数中得到了一些非常奇怪的数字 -(int)generateRandomNumber:(int)min:(int)max { int i = rand() % ((max + 1)- min) + min; if(i < min || i > max) { NSLog(@"WEIRD RANDOM CASE JUST HAPPENED"); return [self generateRandomNumber:min:max];

我从这个函数中得到了一些非常奇怪的数字

-(int)generateRandomNumber:(int)min:(int)max {
    int i = rand() % ((max + 1)- min) + min;
    if(i < min || i > max) {
        NSLog(@"WEIRD RANDOM CASE JUST HAPPENED");
        return [self generateRandomNumber:min:max];
    }
    return i;
}
-(int)generateRandomNumber:(int)min:(int)max{
int i=rand()%((最大值+1)-min)+min;
如果(imax){
NSLog(“奇怪的随机事件刚刚发生”);
返回[自生成域编号:最小值:最大值];
}
返回i;
}
有时,很少变化,当最小值类似于1,最大值类似于9时,它将返回一个类似于1243512的数字

正如你所看到的,我曾试图阻止它,但在我尝试了这个修复之后,它再次发生在我身上

我怎样才能解决这个问题

谢谢


编辑我正在使用srandom(time(NULL));在当前cocos2d场景中,我不确定是什么导致了您的问题,但我强烈建议使用random()或arc4random()而不是rand()。它们产生的随机数要好得多。

我只是在一个循环中运行生成器10000次,最小值设置为1,最大值设置为9,但从未产生超过9的结果。您输入的数字可能不是整数吗?