息子から C言語のプログラムについて質問が来たんだけど

大学生になったんで、さっそく授業で C言語を習っている息子から質問LINEが来た。
(俺は日ごろ全然 C言語は使わないんだけど、まあ、入門問題くらいには答えられる(笑))

問題は、

int i;
i = 077;
printf("i = %f\n", i);

だと、

i = 63.000000

と表示されるものを、

i = 77

と表示されるように修正しろってもの。

息子は 077 が 8進数の記述だということがわからず、それでハマッている様子。

「答えはいらんから、ヒントをくれ」というので、「8進数と10進数の書き方。ちなみに、16進数は 0x77」とヒントを出すと、「そういうことか!!」と息子の答えが返ってきた。

int i;
i = 077;
printf("i = %02o\n", i);

と、printf の変換子だけ修正した形だ。8進数のまま 77と出したいんやな。(2桁の数字を 2桁で出すんで、02 はいらんけどな)

なるほど。俺は、「077 は 8進数なんで、10進数なら 77と書くんよ」という問題だと思ったので、

int i;
i = 77;
printf("i = %d\n", i);

じゃねえの?って回答したんだけど、実際、先生がどっちの意図で問題出してるかわからんので、どっちも正解やな。

息子は結局、「10進の 77を出せっていう問題な気がする」と、俺の回答案を採用するというてるんだけど、実際どっちかわからんし、せっかく自分で回答考えたんだから 8進の 77を表示するほうを提出せえよ・・・と言うてるんだけど。

いやあ、しかし、そのうち C言語のややこしい質問には答えられなくなるなあ。

「先生に、Perlじゃだめですか?って聞いてみい」と言わざるを得なくなるな(笑)

#ちなみに我が家では、長男坊にはいっさいプログラミングを教えてません。大学生になって初めてプログラミングに触れた息子(笑)

トラックバック(0)

このブログ記事を参照しているブログ一覧: 息子から C言語のプログラムについて質問が来たんだけど

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/4818

コメントする

このブログ記事について

このページは、shinodaが2018年4月19日 18:18に書いたブログ記事です。

ひとつ前のブログ記事は「オープン戦でのビール天使は「まりあ」ちゃん」です。

次のブログ記事は「奈良の酒を呑み、奈良の話を聞く」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら