Sdílet prostřednictvím


__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

Viz také

Podpora pro matematiku a plovoucí desetinou čárku
__max