putchar について
Posted: 2012年7月19日(木) 17:59
こんにちは。putcharについて質問があります。
基本情報試験の問題で、以下のようなコードがあります。
putchar('0' + (x * 10/y));
上のコードで'0'を足している意味がわかりません。'0' を足さない場合は、例えばx=3、y=8の時、計算結果が変です。数字ではありません。
また、putchar に渡す引数は、int型のはずですが、'0' は、int 型なのでしょうか?
また、putchar('0' + (x/y * 10)); ですが、例えばx=3、y=8の時、出力結果が0です。少数の足し算で暗黙の型変換されるからでしょうか?それにしても、結果が0になる理由がわかりません。
どなたかアドバイスよろしくお願いします。
基本情報試験の問題で、以下のようなコードがあります。
putchar('0' + (x * 10/y));
上のコードで'0'を足している意味がわかりません。'0' を足さない場合は、例えばx=3、y=8の時、計算結果が変です。数字ではありません。
また、putchar に渡す引数は、int型のはずですが、'0' は、int 型なのでしょうか?
また、putchar('0' + (x/y * 10)); ですが、例えばx=3、y=8の時、出力結果が0です。少数の足し算で暗黙の型変換されるからでしょうか?それにしても、結果が0になる理由がわかりません。
どなたかアドバイスよろしくお願いします。