開発環境
- OS: macOS High Sierra - Apple
- IDE(統合開発環境): Xcode - Apple
- プログラミング言語: C
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の7章(高度な関数 - 関数を最大限に活用する)、エクササイズ(p. 347)を取り組んでみる。
エクササイズ(p. 347)
//
// main.c
// sample1
//
// Created by kamimura on 2018/02/14.
// Copyright © 2018 kamimura. All rights reserved.
//
#include <stdio.h>
#include <stdarg.h>
enum drink {
MUDSLIDE,
FUZZY_NAVEL,
MONKEY_GLAND,
ZOMBIE
};
double price(enum drink d) {
switch (d) {
case MUDSLIDE:
return 6.79;
case FUZZY_NAVEL:
return 5.31;
case MONKEY_GLAND:
return 4.82;
case ZOMBIE:
return 5.89;
default:
break;
}
}
double total(int args, ...) {
double total = 0;
va_list ap;
va_start(ap, args);
for (size_t i = 0; i < args; i++) {
total += price(va_arg(ap, enum drink));
}
return total;
}
int main(int argc, const char * argv[]) {
printf("価格は%.2fです。\n",
total(3, MONKEY_GLAND, MUDSLIDE, FUZZY_NAVEL));
return 0;
}
入出力結果(Terminal)
価格は16.92です。 Program ended with exit code: 0
0 コメント:
コメントを投稿