__min

2 つの値の小さい方を返すプリプロセッサ マクロです。

構文

#define __min(a,b) (((a) < (b)) ? (a) : (b))

パラメーター

a, b
< 演算子が機能する任意の型の値。

戻り値

2 つの引数のうちの小さい方。

解説

__min マクロでは、2 つの値を比較して小さい方の値を返します。 引数には、符号付きまたは符号なしのすべての数値データ型を指定できます。 引数と戻り値はともに同じデータ型である必要があります。

返される引数はこのマクロによって 2 回評価されます。 二重評価は、引数が評価時にその値を変更する式である場合、予期しない結果につながる可能性があります。*p++

必要条件

ルーチンによって返される値 必須ヘッダー
__min <stdlib.h>

// crt_minmax.c

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   int a = 10;
   int b = 21;

   printf( "The larger of %d and %d is %d\n",  a, b, __max( a, b ) );
   printf( "The smaller of %d and %d is %d\n", a, b, __min( a, b ) );
}
The larger of 10 and 21 is 21
The smaller of 10 and 21 is 10

関連項目

数学と浮動小数点のサポート
__max