重複の可能性:
rand() で常に同じ乱数列を取得するのはなぜですか?
私は、 (同じマシン上で)異なるプログラムを使用して /compile を実行し、関数の (前後の) 値を削除した後でも..何があっても..同じ結果を取得し続けるという事実に困惑しています。乱数…実行するたびに。これが本来の動作方法ではないことを誓います.. できる限り簡単に説明します…</p>
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
int rPrimitive = 0; rPrimitive = 1 + rand() % 50;
NSNumber *rObject = nil; rObject = [NSNumber numberWithInt:rand() % 10];
NSLog(@"%i %@", rPrimitive, rObject);
rPrimitive = 0; rObject = nil;
NSLog(@"%i %@", rPrimitive, rObject);
return 0;
}
TextMate で実行します。
i686-apple-darwin11-llvm-gcc-4.2
8 9
0 (null)
CodeRunner で実行します。
i686-apple-darwin11-llvm-gcc-4.2
8 9
0 (null)
必要に応じて、100 万回実行します。あなたはそれがいつもどうなるかを推測することができます. なぜこれが起こるのですか?なになになになにこれ「こう」なの?