__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