
■max()/min()マクロの使用例
//コマンドラインから3つの整数を入力し大きい順に並べる
#include <stdio.h>
#include <stdlib.h>
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
int med(int a, int b, int c)
{
int max = max(max(a,b),c);
int min = min(min(a,b),c);
return a + b + c - max - min;
}
int main(int argc,char *argv[]){
if(argc != 4){
printf("整数を3つ入力してください。\n");
exit(1);
}
int a = atoi(argv[1]);
int b = atoi(argv[2]);
int c = atoi(argv[3]);
printf("大(%d) >= 中(%d) >= 小(%d)\n",
max(max(a,b),c),
med(a,b,c),
min(min(a,b),c)
);
}
遊び方
$./a.out 1 10 5
コピペしコンパイル&実行し、
動作確認をして下さい。