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的结果。您输入的数字可能不是整数吗?