题目:确定signed和unsigned的范围
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main()
{
printf("signed char min = %d\n", SCHAR_MIN);
printf("signed char max = %d\n", SCHAR_MAX);
printf("***********************************\n");
printf("signed short min = %d\n", SHRT_MIN);
printf("signed short max = %d\n", SHRT_MAX);
printf("***********************************\n");
printf("signed int min = %d\n", INT_MIN);
printf("signed int max = %d\n", INT_MAX);
printf("***********************************\n");
printf("unsigned int max = %u\n", UCHAR_MAX); //%u 无符号十进制整数
printf("unsigned int max = %u\n", USHRT_MAX);
printf("unsigned int max = %u\n", UINT_MAX); //显示与ULONG_MAX一样
printf("unsigned int max = %u\n", ULONG_MAX);
printf("\n***********************************\n\n");
printf("signed char min = %d\n", -(char) ( ((unsigned char)~0 >> 1)) - 1);
printf("signed char max = %d\n", (char) ( ((unsigned char)~0 >> 1) ) );
printf("***********************************\n");
printf("unsigned char max = %d\n", (unsigned char)~0);
return 0;
}