質問: C言語で乱数を得るときにsrand((unsigned int)time(NULL))という記述があったのですが、srand関数の引数をunsignedにする理由は、
回答: srand の仮引数の型が unsigned int なので(書かなくても暗黙に型変換されますが)、明示的に書いているだけでしょう。 書いても書かなくても、何にも変わりません。 できるだけ大きな整数をもらえる、という効果もありません。 time関数の戻り値は time_t なので、time_t で表現できない値は(例え unsigned int にキャストしたとしても)表現できません。