为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么输出的是a1=ffff,a2=65535,a3=-1?

请问为什么输出的是a1=ffff,a2=65535,a3=-1?

C++ C
斯蒂芬大帝 2022-05-11 15:11:54
#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了。这个可以看下基本原理

查看完整回答
反对 回复 2022-05-15
  • 1 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号