Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


Returns the smaller of two values.

type __min(
   type a,
   type b 


Any numeric data type.
a, b
Values of any numeric type to be compared.

Return Value

The smaller of the two arguments.


The __min macro compares two values and returns the value of the smaller one. The arguments can be of any numeric data type, signed or unsigned. Both arguments and the return value must be of the same data type.


Routine Required header Compatibility
__min <stdlib.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.


// 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

See Also

Floating-Point Support Routines | __max | Run-Time Routines and .NET Framework Equivalents

© 2015 Microsoft