__min
Makro preprocesoru, které vrátí menší ze dvou hodnot.
Syntaxe
#define __min(a,b) (((a) < (b)) ? (a) : (b))
Parametry
a
, b
Hodnoty libovolného typu, se < kterým operátor pracuje.
Vrácená hodnota
Menší ze dvou argumentů.
Poznámky
Makro __min
porovná dvě hodnoty a vrátí hodnotu menší hodnoty. Argumenty můžou být libovolného číselného datového typu, podepsaného nebo nepodepsaného. Argumenty i návratová hodnota musí být stejného datového typu.
Vrácený argument se vyhodnotí dvakrát pomocí makra. Dvojité vyhodnocení může vést k neočekávaným výsledkům, pokud je argument výrazem, který při vyhodnocování změní jeho hodnotu, například *p++
.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
__min |
<stdlib.h> |
Příklad
// 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