まつもと ゆきひろです Q: サブジェクトの通り printf "%d\n", "08" はなぜか0を出力します. printf "%d\n", "07" は7を出力するのに.なぜ? A: printfは%dに文字列が与えられると数値に変換しますが,この 時に: * 文字列の先頭に0が来た場合には8進 * 文字列の先頭に0xが来た場合には16進 とみなして数値化します.08は0の次に8(8進数にとっては数値でな いもの)が来ていますので,読み込みはそこで終り,結果は0になり ます.必要に応じてto_i(こちらはかならず10進にする)を使って下 さい.