unsigned long get_long(); //returns some crazy large unsigned long
int i;
i = get_long() % 20;
可能な値は{0,1,2 ... 18,19}なので、右辺の値は常に整数に収まる大きさでなければなりません。Cでは、これを行うことはできますか? int i; i = get_long()%20;
コンパイラがそのunsigned long
の右側を左側の整数に変換できると仮定できますか?
'get_long'とは何ですか?それは標準的な機能ではありません。 See [ask] – Olaf
「整数に収まるのに十分な大きさ」...何? –
@WeatherVaneフォーマットが正しくありません。 –