-1
我从这个函数得到一些非常奇怪的数字。非常奇怪的数字从兰特()
-(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;
}
有时候,改变很少,它会返回像1243512数字时最小是像1,最大是像9
正如你可以看到,我试图阻止它,但在我尝试此修复后,它现在又发生在我身上了。
我该如何解决这个问题?
感谢
编辑我使用srandom(时间(NULL));在当前的cocos2d场景init
我刚刚在一个循环中运行你的发生器10,000次,最小设置为1,最大设置为9,从不产生9以上的结果。可能是你输入的数字不是整数? –