有人可以向我澄清一下,为什么在运行此代码时,past2不是否定的?即使过去是。
感谢。
NSTimeInterval p1 = (arc4random()%600000);
NSTimeInterval past = -p1;
NSTimeInterval past2 = -(arc4random()%600000);
答案 0 :(得分:2)
arc4random()返回一个unsigned int(u_int32_t),因此尝试将其设为负数也会将结果强制转换为unsigned,这就是为什么你得到一个非常大的正数而不是负数。
如果您想在一次通话中获得负面随机结果,请尝试:
NSTimeInterval past2 = - (int) (arc4random()%600000);
乔