問題CPP00119の解答例と解説 C++ Lv.1

整数0の割り算(15分)


<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

整数型の 0 で割り算をすると、Floating exception というエラーになって、そこでプログラムがクラッシュしてしまって、強制的に終了してしまうよ。だから、この問題で出ているように、整数型の 0 で割り算は行なわれないようにする必要があるんだ。

CPP00116 の整数の割り算の問題では分母が 0 の時のことまで考えなくても合格だったけど、本当のプログラミングをするときは、常に分母のことを考えておく必要があるよ。

分母が 0 のときの対処方法は決め事なので、好きなように決めればいいよ。だから 0 を返すようにしてもいいんだけど、0だと本当に計算結果が本当に0だったときと区別がつかないから、INT_MAX という、計算結果として現れにくい、そのコンピュータで表現できる最大の数値を返すのが、1つの良い決め事だよ。

この関数を呼び出した側は、以下のようにして中で何かエラーが起きたんだな、と判断できるよ。
F11キーでフルスクリーンモード、Escキーで元に戻ります。


エラーの対処方法には、例外処理というのもあるんだけど、これはあとで問題を用意するよ。




初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録