一个奇怪的程序,大家别见笑。。。

来源:百度知道 编辑:UC知道 时间:2024/06/23 09:05:54
#include <stdio.h>
void main()
{
unsigned short int a=65535;
short int b=-1;
printf("a=%hd,%ho,%hx,%hu\n",a,a,a,a);
printf("b=%hd,%ho,%hx,%hu\n",b,b,b,b);
}
这是怎么回事,完全不懂输出类型是怎么回事。。。
能回答下短型是取哪几位吗,比如如果把a转换成短型以后是什么样的呢?谢谢

这里都是两个字节,十六位.这么说吧.65535和-1在内存里都是以二进制形式16个1存储的.即1111111111111111.无符号时,它是十进制整数65535,有符号时,它就是-1.主要区别就是这个.你上机试一下,就明白了.朋友.

%hd h表示短整型数据
d表示十进制整数

short 是定义短整型

unsigned short 是定义无符号短整型

还有什么吗?你补充下

偶也无懂