这似乎是一个非常奇怪的问题:
这是我的代码:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
@autoreleasepool {
srand((unsigned int)time(NULL));
int newRandomNumber = 0;
newRandomNumber = rand() % 7;
NSLog(@"%d", rand() % 7); //This prints out what I expected
NSLog(@"newRandomNumber = %d", newRandomNumber); // This always prints out 0!
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我替换那一行说
newRandomNumber = rand() % 7
Run Code Online (Sandbox Code Playgroud)
同
newRandomNumber = rand() % 8
Run Code Online (Sandbox Code Playgroud)
一切都很完美.为什么会这样?