8
rand()+ rand()が負の数を生成するのはなぜですか?
私はその観察rand()、それがループ内で一度だけ呼ばれるライブラリ関数を、それはほとんど常に正の数を生成します。 for (i = 0; i < 100; i++) { printf("%d\n", rand()); } しかし、2つのrand()呼び出しを追加すると、生成された番号の負の数が増えます。 for (i = 0; i < 100; i++) { printf("%d = %d\n", rand(), (rand() + rand())); } 2番目のケースで負の数が表示される理由を誰かが説明できますか? PS:ループの前にシードをとして初期化しますsrand(time(NULL))。