貌似有些編譯器並不完全支持所有數據類型,運行結果可能也有差異,依編譯器而異,但是獲得方式都是一樣的
#include <stdio.h>
#include <limits.h>
#include < float.h>
#include <stdlib.h>
int main( void)
{
printf( " char類型的變量存儲值從%d到%d\n ", CHAR_MIN, CHAR_MAX);
printf( " unsigned char類型的變量存儲值從0到%u\n ", UCHAR_MAX);
printf( " short類型的變量存儲值從%d到%d\n ", SHRT_MIN, SHRT_MAX);
printf( " unsigned short類型的變量存儲值從0到%u\n ", USHRT_MAX);
printf( " int類型的變量存儲值從%d到%d\n ", INT_MIN, INT_MAX);
printf( " unsigned int類型的變量存儲值從0到%u\n ", UINT_MAX);
printf( " long類型的變量存儲值從%ld到%ld\n ", LONG_MIN, LONG_MAX);
printf( " unsigned long類型的變量存儲值從0到%lu\n\n ", ULONG_MAX);
printf( " long long類型的變量存儲值從%lld到%lld\n ", LLONG_MIN, LLONG_MAX);
printf( " unsigned long long類型的變量存儲值從0到%llu\n ", ULLONG_MAX);
printf( " 最小的非零float類型變量的值的是%.3e\n ", FLT_MIN);
printf( " 最大的float類型變量的值的是%.3e\n ", FLT_MAX);
printf( " 最小的非零double類型變量的值的是%.3e\n ", DBL_MIN);
printf( " 最大的double類型變量的值的是%.3e\n\n ", DBL_MAX);
printf( " 最小的非零long double類型變量的值的是%.3Le\n ", LDBL_MIN);
printf( " 最大的long double類型變量的值的是%.3Le\n ", LDBL_MAX);
printf( " float類型的變量提供%u位精度的小數位數\n ", FLT_DIG);
printf( " double類型的變量提供%u位精度的小數位數\n\n ", DBL_DIG);
printf( " long double類型的變量提供%u位精度的小數位數\n ", LDBL_DIG);
system( " pause ");
return 0;
}
#include <limits.h>
#include < float.h>
#include <stdlib.h>
int main( void)
{
printf( " char類型的變量存儲值從%d到%d\n ", CHAR_MIN, CHAR_MAX);
printf( " unsigned char類型的變量存儲值從0到%u\n ", UCHAR_MAX);
printf( " short類型的變量存儲值從%d到%d\n ", SHRT_MIN, SHRT_MAX);
printf( " unsigned short類型的變量存儲值從0到%u\n ", USHRT_MAX);
printf( " int類型的變量存儲值從%d到%d\n ", INT_MIN, INT_MAX);
printf( " unsigned int類型的變量存儲值從0到%u\n ", UINT_MAX);
printf( " long類型的變量存儲值從%ld到%ld\n ", LONG_MIN, LONG_MAX);
printf( " unsigned long類型的變量存儲值從0到%lu\n\n ", ULONG_MAX);
printf( " long long類型的變量存儲值從%lld到%lld\n ", LLONG_MIN, LLONG_MAX);
printf( " unsigned long long類型的變量存儲值從0到%llu\n ", ULLONG_MAX);
printf( " 最小的非零float類型變量的值的是%.3e\n ", FLT_MIN);
printf( " 最大的float類型變量的值的是%.3e\n ", FLT_MAX);
printf( " 最小的非零double類型變量的值的是%.3e\n ", DBL_MIN);
printf( " 最大的double類型變量的值的是%.3e\n\n ", DBL_MAX);
printf( " 最小的非零long double類型變量的值的是%.3Le\n ", LDBL_MIN);
printf( " 最大的long double類型變量的值的是%.3Le\n ", LDBL_MAX);
printf( " float類型的變量提供%u位精度的小數位數\n ", FLT_DIG);
printf( " double類型的變量提供%u位精度的小數位數\n\n ", DBL_DIG);
printf( " long double類型的變量提供%u位精度的小數位數\n ", LDBL_DIG);
system( " pause ");
return 0;
運行結果如下:
char類型的變量存儲值從-128到127
unsigned char類型的變量存儲值從0到255
short類型的變量存儲值從-32768到32767
unsigned short類型的變量存儲值從0到65535
int類型的變量存儲值從-2147483648到2147483647
unsigned int類型的變量存儲值從0到4294967295
long類型的變量存儲值從-2147483648到2147483647
unsigned long類型的變量存儲值從0到4294967295
long long類型的變量存儲值從-9223372036854775808到9223372036854775807
unsigned long long類型的變量存儲值從0到18446744073709551615
最小的非零float類型變量的值的是1.175e- 038
最大的float類型變量的值的是3.403e+ 038
最小的非零double類型變量的值的是2.225e- 308
最大的double類型變量的值的是1.798e+ 308
最小的非零long double類型變量的值的是- 0.000e+000
最大的long double類型變量的值的是- 1.#QOe+ 000
float類型的變量提供6位精度的小數位數
double類型的變量提供15位精度的小數位數
long double類型的變量提供18位精度的小數位數
unsigned short類型的變量存儲值從0到65535
int類型的變量存儲值從-2147483648到2147483647
unsigned int類型的變量存儲值從0到4294967295
long類型的變量存儲值從-2147483648到2147483647
unsigned long類型的變量存儲值從0到4294967295
long long類型的變量存儲值從-9223372036854775808到9223372036854775807
unsigned long long類型的變量存儲值從0到18446744073709551615
最小的非零float類型變量的值的是1.175e- 038
最大的float類型變量的值的是3.403e+ 038
最小的非零double類型變量的值的是2.225e- 308
最大的double類型變量的值的是1.798e+ 308
最小的非零long double類型變量的值的是- 0.000e+000
最大的long double類型變量的值的是- 1.#QOe+ 000
float類型的變量提供6位精度的小數位數
double類型的變量提供15位精度的小數位數
long double類型的變量提供18位精度的小數位數