Поделиться через


__min

Макрос препроцессора, возвращающий меньшее из двух значений.

Синтаксис

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

Параметры

a, b
Значения любого типа, с которым < работает оператор.

Возвращаемое значение

Меньший из двух аргументов.

Замечания

Макрос __min сравнивает два значения и возвращает значение меньшего. Аргументы могут быть любого числового типа данных со знаком или без знака. Оба аргумента и возвращаемое значение должны принадлежать к одному типу данных.

Возвращаемый аргумент вычисляется дважды макросом. Двойная оценка может привести к непредвиденным результатам, если аргумент является выражением, которое изменяет его значение при оценке, например *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