#include<stdio.h>short int a=-1;int main(){printf("a1=%hx,a2=&hu,a3=%dh\n",a,a,a);return 0;}
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
为什么不是呢?你的是short型,-1十六进制保存就是FFFF,而FFFF转为十进制就是65535。你打印的第一个是按十六进制打,所以为FFFF,第二个是按无符号型打,所以为FFFF的十进制值65535,第三个是按整型打就是-1了。这个可以看下基本原理
- 1 回答
- 0 关注
- 238 浏览
添加回答
举报
0/150
提交
取消
