__min
Makro preprocesora zwracające mniejsze z dwóch wartości.
Składnia
#define __min(a,b) (((a) < (b)) ? (a) : (b))
Parametry
a
, b
Wartości dowolnego typu, na których < działa operator.
Wartość zwracana
Mniejsze z dwóch argumentów.
Uwagi
Makro __min
porównuje dwie wartości i zwraca wartość mniejszej. Argumenty mogą mieć dowolny typ danych liczbowych, podpisany lub niepodpisany. Zarówno argumenty, jak i wartość zwracana muszą być tego samego typu danych.
Zwrócony argument jest obliczany dwa razy przez makro. Podwójna ocena może prowadzić do nieoczekiwanych wyników, jeśli argument jest wyrażeniem, które zmienia jego wartość podczas obliczania, na przykład *p++
.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
__min |
<stdlib.h> |
Przykład
// 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
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
__max