unsigned int = -1打印输出也是-1?
int main(void)
{
unsigned char a = -1;
unsigned short b = -1;
unsigned int c =-1;
printf("a = %d\n", a);//255
printf("b = %d\n", b);//65535
printf("c = %d\n", c);//-1
return 0;
}
为什么c最后是输出-1而不是unsigned int的最大值?
[解决办法]
因为你输出使用的是%d,这个标示符输出的是有符号的int变量。所以输出的是-1。你可以使用%ud试试看。
[解决办法]