__min
Uma macro de pré-processador que retorna o menor de dois valores.
Sintaxe
#define __min(a,b) (((a) < (b)) ? (a) : (b))
Parâmetros
a
, b
Valores de qualquer tipo em que o operador < funciona.
Valor retornado
O menor dos dois argumentos.
Comentários
A macro __min
compara dois valores e retorna o valor do menor. Os argumentos podem ser de qualquer tipo de dados numérico, com ou sem sinal. Os argumentos e o valor retornado devem ser do mesmo tipo de dados.
O argumento retornado é avaliado duas vezes pela macro. A avaliação dupla pode levar a resultados inesperados se o argumento for uma expressão que altera seu valor quando é avaliado, como *p++
.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
__min |
<stdlib.h> |
Exemplo
// 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