看看结果是多少?
#include <stdio.h>
#include <limits.h>
main() {
float x = ULONG_MAX; /* 4,294,967,295 */
double y = ULONG_MAX;
long double z = ULONG_MAX;
printf("%f\n%f\n%Lf\n",x,y,z);
}
不运行猜猜结果是多少?再运行下看看.
还有个float.h,和这个差不多
#include <stdio.h>
#include <float.h>
int main()
{
printf("radix: %d\n", FLT_RADIX);
printf("float: %d radix digits\n",FLT_MANT_DIG);
printf("\t[%g, %g]\n", FLT_MIN, FLT_MAX);
printf("double: %d radix digits\n",DBL_MANT_DIG);
printf("\t[%g, %g]\n", DBL_MIN, DBL_MAX);
printf("long double: %d radix digits\n",LDBL_MANT_DIG);
printf("\t[%Lg, %Lg]\n", LDBL_MIN, LDBL_MAX);
return 0;
}