- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rand()に関して)
rand()関数を使用したプログラムで最初の部分が一定の値になる問題
このQ&Aのポイント
- rand()関数を使用したプログラムで最初の部分が1になる問題が発生しています。
- rand()関数は乱数を生成するため、毎回異なる値が返されるはずですが、最初の部分が常に1となっています。
- デバッガを使用して調査した結果、最初の数回のrand()の返り値が似たような数字となっていることがわかりました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#212058
回答No.3
srand の引数にシステム時間を使った場合、同じような時間に 実行すると値の変化が少ないために 1回目の rand の値が似た ような値になります。これは rand の仕様というか癖です。 これを防ぐために、最初に rand を何回か呼び出しておく、 というのは、わりと一般的な対策です。
お礼
回答ありがとうございます。 やっぱりそういう現象が一般に起こるんですね。 >>これを防ぐために、最初に rand を何回か呼び出しておく、 >>というのは、わりと一般的な対策です。 そうなんですね。勉強になりました。 1回でなく数回呼び出してから使うようにしたいと思います。 ありがとうございました。