absのマニュアルには、最も大きな負の整数の絶対値を取ろうとすることが定義されていません。負の数値の絶対値が最も大きくなる
とABSのプロトタイプは次のとおりです。int abs(int j);
はなぜ腹筋はint
を返すのですか?戻り値が正の値になるので、unsigned int
を返してみませんか?
ABSはunsigned int
を返された場合は、最大の負の整数の絶対値のソリューションは、このような単純です:
if(INT_MIN == j)
return (unsigned int)j;
Cが 'unsigned'型をまったく持っていないうちに、' abs() 'の指定が確定した可能性があります。 –
私はそれが正しい答えだと思う。ありがとう@Jonathan Leffler –