确定short,unsigned short,int,unsigned,long,unsigned long的在visual c中的取值范围的问题?
确定short,unsigned short,int,unsigned,long,unsigned long的在visual c中的取值范围,最小值以及最小值减1,最大值以及最大值加1。
short -2^15~2^15-1 unsigned short 0~2^16-1
int -2^31~2^31-1 unsigned 0~2^32-1
long -2^31~2^31-1 unsigned long 0~2^32-1
问题一:红颜色的为实验错误的,但如果把%d该成%u就可以,不知道why
问题二:unsigned short就用%d,%u都行,不知道why
问题三:既然int,unsigned都有这么大的范围了,还要long,unsigned long干嘛?
以下为实验代码:
程序代码:
#include"stdio.h" void main() { unsigned a,b,c,d; a=0; b=a-1; c=4294967295; d=c+1; printf("%d,%d,%d,%d\n",a,b,c,d); }