__min
Macro de preprocesador que devuelve el menor de dos valores.
Sintaxis
#define __min(a,b) (((a) < (b)) ? (a) : (b))
Parámetros
a
, b
Valores de cualquier tipo en los que funciona el operador <.
Valor devuelto
El menor de los dos argumentos.
Comentarios
La macro __min
compara dos valores y devuelve el valor del más pequeño. Los argumentos pueden ser de cualquier tipo de datos numérico, con o sin signo. Los argumentos y el valor devuelto deben ser del mismo tipo de datos.
La macro evalúa el argumento devuelto dos veces. La evaluación doble puede provocar resultados inesperados si el argumento es una expresión que modifica su valor cuando se evalúa, como *p++
.
Requisitos
Routine | Encabezado necesario |
---|---|
__min |
<stdlib.h> |
Ejemplo
// 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
Vea también
Compatibilidad con cálculos matemáticos y el punto flotante
__max