C语言 数据类型范围打印

C语言中的数据类型有不同的范围,这些范围可以通过标准库中的头文件 <limits.h> 或 <float.h> 来查看。

测试代码:

void test_limits(void)
{
    /* limits.h */
    /* bit */
    printf("%s=\t+%d\n", STR(CHAR_BIT), CHAR_BIT);

    /* char */
    printf("%s=\t%d\n", STR(SCHAR_MIN), SCHAR_MIN);
    printf("%s=\t+%u\n", STR(UCHAR_MAX), UCHAR_MAX);
    printf("%s=\t%d\n", STR(CHAR_MIN), CHAR_MIN);
    printf("%s=\t+%d\n", STR(CHAR_MAX), CHAR_MAX);

    /* short */
    printf("%s=\t%d\n", STR(SHRT_MIN), SHRT_MIN);
    printf("%s=\t+%d\n", STR(SHRT_MAX), SHRT_MAX);
    printf("%s=\t+%u\n", STR(USHRT_MAX), USHRT_MAX);

    /* int */
    printf("%s=\t%d\n", STR(INT_MIN), INT_MIN);
    printf("%s=\t+%d\n", STR(INT_MAX), INT_MAX);
    printf("%s=\t+%u\n", STR(UINT_MAX), UINT_MAX);

    /* long */
    printf("%s=\t%ld\n", STR(LONG_MIN), LONG_MIN);
    printf("%s=\t+%ld\n", STR(LONG_MAX), LONG_MAX);
    printf("%s=\t+%lu\n", STR(ULONG_MAX), ULONG_MAX);

    /* long long */
    printf("%s=\t%lld\n", STR(LLONG_MIN), LLONG_MIN);
    printf("%s=\t+%lld\n", STR(LLONG_MAX), LLONG_MAX);
    printf("%s=\t+%llu\n", STR(ULLONG_MAX), ULLONG_MAX);

    /* float.h */
    /* float double */

    printf("%s=\t+%d\n", STR(FLT_DIG), FLT_DIG);
    printf("%s=\t+%d\n", STR(DBL_DIG), DBL_DIG);
    printf("%s=\t+%d\n", STR(LDBL_DIG), LDBL_DIG);

    printf("%s=\t+%f\n", STR(FLT_MAX), FLT_MAX);
    printf("%s=\t+%f\n", STR(DBL_MAX), DBL_MAX);
    printf("%s=\t+%Lf\n", STR(LDBL_MAX), LDBL_MAX);

    printf("%s=\t+%f\n", STR(FLT_MIN), FLT_MIN);
    printf("%s=\t+%f\n", STR(DBL_MIN), DBL_MIN);
    printf("%s=\t+%f\n", STR(DBL_MIN), DBL_MIN);
}

代码运行结果:

CHAR_BIT=       +8
SCHAR_MIN=      -128
UCHAR_MAX=      +255
CHAR_MIN=       -128
CHAR_MAX=       +127
SHRT_MIN=       -32768
SHRT_MAX=       +32767
USHRT_MAX=      +65535
INT_MIN=        -2147483648
INT_MAX=        +2147483647
UINT_MAX=       +4294967295
LONG_MIN=       -2147483648
LONG_MAX=       +2147483647
ULONG_MAX=      +4294967295
LLONG_MIN=      -9223372036854775808
LLONG_MAX=      +9223372036854775807
ULLONG_MAX=     +18446744073709551615
FLT_DIG=        +6
DBL_DIG=        +15
LDBL_DIG=       +18
FLT_MAX=        +340282346638528859811704183484516925440.000000
参考链接:

https://www.runoob.com/cprogramming/c-function-printf.html
https://www.runoob.com/cprogramming/c-data-types.html

posted @ 2023-09-19 17:37  eezhijun  阅读(42)  评论(0编辑  收藏  举报