コマンドラインから名前を受け取って、あいさつを表示するプログラムを作りました。プログラムを実行すると期待どおりに表示されましたが、あと少し改善できる部分があります。

どこが改善できるか分かりますか?
main.c
#include <stdio.h>
void Greet(const char *pName) {
printf("Hello, %s!\n", pName);
}
int main(int argc, char *argv[]) {
if (argc < 2) {
puts("No input.");
return 1; /* 失敗 */
}
for (int i=1; i<argc; i++) {
Greet(argv[i]);
}
return 0; /* 成功 */
}
実行結果
↓コマンドライン引数が「Leo Yuki」の場合:
Hello, Leo!
Hello, Yuki!
↓コマンドライン引数なしの場合:
No input.

これは、第04問の変形ですね。

そうね。コマンドライン引数で1つ以上名前を指定すると……

ひとりひとりの名前であいさつを表示します!

それじゃあ、名前を1つも指定しなかった場合は……

「失敗」になって、プログラムを終了します!

あいさつを表示できれば「成功」、できなければ「失敗」ということね。

ちゃんと表示されてるのに、まだ改善できるところなんてあるのかなぁ。

これまでに出てきたプログラムと見比べてみましょう。