为什么a-1的时候输出结果是65535?
并且是在a=0的时候,而当a=其他数字的时候,则是正常运算,这是为什么呢?希望解答
什么a-1 把代码贴出来
回复 初一:
#include<stdio.h>
main()
{
unsigned short a=6;
printf("%d\n",sizeof(a));
printf("%hu\n",a-1);
}
回复 初一:就是当a=0时就是65535,而a=6时就是5
回复 王艳慧: 这是个你定义的无符号整形数的数值上限 是循环的 0再减2就是65534
回复 王艳慧: 无符号短整形 占用字节数2 数值范围是0~65535
可想而知0再减1就是65535 因为它没有负数
回复 初一:恩恩,懂了,谢谢