从标准头文件中直接输出确实比较容易,只是百度的时间了。要是自己计算确实比较困难。为了看得比较清楚,把sizeof也加上了。
/*
编写一个程序来确定signed及unsigned的char、short、int与long变量的取值范围,
可以通过打印标准头文件中的相应值来完成,也可以直接计算来做。后一种方法较困难
一些,因为要确定各种浮点类型的取值范围
*/
#include <stdio.h>
#include <limits.h>
main ( )
{
printf("sizeof(char):%d\n", sizeof(char));
printf("range of signed char is %d to %d\n", SCHAR_MIN, SCHAR_MAX);
printf("range of unsigned char is 0 to %d\n\n", UCHAR_MAX);
printf("sizeof(short):%d\n", sizeof(short));
printf("range of signed short is %d to %d\n", SHRT_MIN, SHRT_MAX);
printf("range of unsigned short is 0 to %d\n\n", USHRT_MAX);
printf("sizeof(int):%d\n", sizeof(int));
printf("range of signed int is %d to %d\n", INT_MIN, INT_MAX);
printf("range of unsigned int is 0 to %u\n\n", UINT_MAX);
printf("sizeof(long):%d\n", sizeof(long));
printf("range of signed long is %d to %d\n", LONG_MIN, LONG_MAX);
printf("range of unsigned long is 0 to %u\n", ULONG_MAX);
}