有2种方法1是打印标准头文件中的对应值以及直接计算2种方法实现。通过直接计算来确定浮点类型的取值是一项难度很大的任务
ASCII C标准规定:各种类型的取值范围必须在头文件<limits.h>中定义。short int 和long 类型在不同的硬件上有不同的长度,所以他们在不同的机器上的取值范围也往往会不同,下面是方法1利用头文件来确定类型取值范围的解决方法
#include <stdio.h>
#include <limits.h>
int main(){
printf("signed char max=%d\n",SCHAR_MAX);
printf("signed char min=%d\n",SCHAR_MIN);
printf("signed int max=%d\n",INT_MAX);
printf("signed int min=%d\n",INT_MIN);
printf("signed long max=%ld\n",LONG_MAX);
printf("signed long min=%ld\n",LONG_MIN);
printf("signed short max=%d\n",SHRT_MAX);
printf("signed short min=%d\n",SHRT_MIN);
printf("unsigned char max=%u\n",UCHAR_MAX);
printf("unsigned int max=%u\n",UINT_MAX);
printf("unsigned long max=%lu\n",ULONG_MAX);
printf("unsigned short max=%u\n",USHRT_MAX);
}
注意:1signed 类型时是Int char short 打印最大值的时候都可以用%d,但是long不可以应为它比Int还要大用%ld;
2unsigned类型时Int char short 打印最大值的时候都可以用%u,但是long不可以应为它比Int还要大用%lu;
3signed char对应SCHAR_MIN(OR)_MAX;
short对应SHRT_MIN或者最小