Unless there was an unnoticed typo error in the program, I have no idea why any signed limit would print out as zero!
The limits for floats are in a separate header file "float.h", while the integral data type limits are in "limits.h". Do you need to include a different header file?
I'd hate to think it was a feature you'd only get if you bought the "professional" version of the compiler. That would just be wrong.
This is a part of my compiler's data in floats.h:
Code:
/* smallest positive IEEE normal numbers */
#define DBL_MIN 2.2250738585072014E-308
#define FLT_MIN 1.17549435E-38F
#define LDBL_MIN _tiny_ldble
#define DBL_MAX _huge_dble
#define FLT_MAX _huge_flt
#define LDBL_MAX _huge_ldble
#define DBL_MAX_EXP +1024
#define FLT_MAX_EXP +128
#define LDBL_MAX_EXP +16384
#define DBL_MAX_10_EXP +308
#define FLT_MAX_10_EXP +38
#define LDBL_MAX_10_EXP +4932
#define DBL_MIN_10_EXP -307
#define FLT_MIN_10_EXP -37
#define LDBL_MIN_10_EXP -4931
#define DBL_MIN_EXP -1021
#define FLT_MIN_EXP -125
#define LDBL_MIN_EXP -16381
and clearly includes negative numbers.
So that's a great question for your instructor - hah!