問 5(提出プログラム名:ex0905a.h)
※ex0905a.c ではなく ex0905a.h を提出なので注意!
このプログラム(ex0905a.c)とヘッダ(ex0905a.h)をそれぞれダウンロードし,
ヘッダの中の関数 get_length を完成させなさい.
(書き換えるのは ex0905a.h のみであり,ex0905a.c はコンパイルと実行に使うだけなので間違えないこと)
関数 get_length では,引数として与えられた文字列(char 配列)str について,
その文字列の長さ(文字数)を調べて返すものとする.
(ヒント)講義資料で説明しているように,ナル文字に遭遇した際の添字がそのまま文字数に対応している.
この問題では,入力された文字列(文字数は SIZE 未満)について,その長さを get_length を使って調べて出力させている(SIZE はマクロで定義されている).
【注意】
この問題では ex0905a.h を提出しなさい(ex0905a.c ではない).
なお,C 言語では文字列の長さを調べる関数 strlen というものがあらかじめ用意されているが,この問題ではこれを使ってはいけません.
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
文字列を入力してください:⏎ programming@cs.ehime programming@cs.ehime (20文字)⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
文字列を入力してください:⏎ i520987x i520987x (8文字)⏎
- 【プログラムの実行結果】(その3)※赤字は実行時にキーボードから入力する内容
文字列を入力してください:⏎ a a (1文字)⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
■ main 関数の方を書き換えてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 問 4 (ex0904a.c) ]
ミスが無いことを確認したら次の問題へ → [ 問6 (ex0906a.h) ]