不同类型的值的大小限制

以下符号表示整数类型的范围限制。

类型 最低限制 最高限制
char CHAR_MIN CHAR_MAX
short SHRT_MIN SHRT_MAX
int INT_MIN INT_MAX
long LONG_MIN LONG_MAX
long long LLONG_MIN LLONG_MAX
float FLT_MIN FLT_MAX
double DBL_MIN DBL_MAX
long double LDBL_MIN LDBL_MAX

无符号整数类型的下限均为0。

对应于无符号整数类型的上限的符号是:UCHAR_MAXUSHRT_MAXUINT_MAXULONG_MAXULLONG_MAX

以下代码将演示编译器的限制:

#include <stdio.h>                          // For command line input and output
#include <limits.h>                         // For limits on integer types
#include <float.h>                          // For limits on floating-point types

int main(void){
  printf(Variables of type char store values from %d to %d\n, CHAR_MIN, CHAR_MAX);
  printf(Variables of type unsigned char store values from 0 to %u\n, UCHAR_MAX);
  printf(Variables of type short store values from %d to %d\n, SHRT_MIN, SHRT_MAX);
  printf(Variables of type unsigned short store values from 0 to %u\n, USHRT_MAX);
  printf(Variables of type int store values from %d to %d\n, INT_MIN,  INT_MAX);
  printf(Variables of type unsigned int store values from 0 to %u\n, UINT_MAX);
  printf(Variables of type long store values from %ld to %ld\n, LONG_MIN, LONG_MAX);
  printf(Variables of type unsigned long store values from 0 to %lu\n, ULONG_MAX);
  printf(Variables of type long long store values from %lld to %lld\n, LLONG_MIN, LLONG_MAX);
  printf(Variables of type unsigned long long store values from 0 to %llu\n, ULLONG_MAX);

  printf(\nThe size of the smallest positive non-zero value of type float is %.3e\n, FLT_MIN);
  printf(The size of the largest value of type float is %.3e\n, FLT_MAX);
  printf(The size of the smallest non-zero value of type double is %.3e\n, DBL_MIN);
  printf(The size of the largest value of type double is %.3e\n, DBL_MAX);
  printf(The size of the smallest non-zero value of type long double is %.3Le\n, LDBL_MIN);
  printf(The size of the largest value of type long double is %.3Le\n,  LDBL_MAX);

  printf(\n Variables of type float provide %u decimal digits precision. \n, FLT_DIG);
  printf(Variables of type double provide %u decimal digits precision. \n, DBL_DIG);
  printf(Variables of type long double provide %u decimal digits precision. \n,
                                                                        LDBL_DIG);
  int number = INT_MAX;

  printf(%d,number);
  return 0;
}

相关文章

for遍历数组
。。。
声明一个计数循环
咕咕咕
#include <stdio.h> int main (void) { printf (&quo...