課題 [11] ポインタ①(2/9)

問 2(提出プログラム名:ex1102.c)

このプログラム(ex1102.c)をダウンロードし,その中の関数 cut1 を完成させなさい

関数 cut1 は,引数で与えられたポインタ p を用い,
そのポインタ p が参照している double 型変数の持つ値小数点以下を切り捨てた値へ書き換えるものとする.
ただし,関数 main の内容は一切書き換えないこと.

【注意】
関数 cut1戻り値を持たないので戻り値型は void として宣言してある.
これを変更してはいけませんし,戻り値を持たせても(return を書いても)いけません.

【ヒント】
小数点以下を切り捨てる方法は第 2 回で既に学習済みですが,忘れている人がいるかもしれないので念の為にヒントとして書きます:元の変数を int 型へキャストした値で上書きするだけで実現できます.
つまり.関数 cut1 の中身は 1 行で終わりです.

  • 【プログラムの実行結果】(その1)赤字は実行時にキーボードから入力する内容
実数を 1 つ入力してください:3.14
cut1 実行前の値 = 3.14
cut1 実行後の値 = 3.00
  • 【プログラムの実行結果】(その2)赤字は実行時にキーボードから入力する内容
実数を 1 つ入力してください:0.99
cut1 実行前の値 = 0.99
cut1 実行後の値 = 0.00

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
実行の画面出力が上の例と違うきちんと確認していない).
■ 関数 cut1 の内容が必要以上に複雑になっている(ヒントで示したように int 型へキャストした値で上書きするだけなので 1 行で終わりです).
注意書きを見落としていて main 関数の中身を書き換えてしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない)


ミスが無いことを確認したら次の問題へ → [ 問3 (ex1103.c) ]