#include<stdio.h>#include<stdlib.h>intmain(){unsignedcharuc=-1;unsignedshortus=-1;unsignedintui=-1;printf("uc=%d\n",uc);printf("us=%d\n",us);printf("ui=%d\n",ui);system("pause");return0; } 运行结果如下: 产生这种结果的原因是什么?uc和us在使用printf函数进行输出时都会进行类型提升...
C语言中 unsigned short 怎么输出?例如 int d ;printf("d = %d\n",d);用'%d' ,那么unsigned short 相关知识点: 试题来源: 解析 unsigned short d ;printf("d = %u\n",d);输出unsigned short ,unsigned int 一般用 %u像unsigned long 输出的话一般用%lu...
unsigned short A = 10。 printf("~A = %u\n", ~A)。 char c=128。 printf("c=%d\n",c)。 输出多少?并分析过程 相关知识点: 试题来源: 解析 第一题,~A=0xfffffff5,int值 为-11,但输出的是uint。所以输出4294967285 第二题,c=0x10,输出的是int,最高位为1,是负数,所以它的值就是0x...
unsigned int a = -1; unsigned short b = -1; unsigned char c = -1; printf("%u, %d, %d,\n",a,b,c); 输出:4294967295, 65535, 255, unsigned int a = -1; unsigned short b = -1; unsigned char c = -1; printf("%d, %d, %d,\n",a,b,c); 输出:-1, 65535, 255, a定义为...
short占2个字节16位。-5 原码为 1 000 0000 0000 0101 (第一位为符号位)-5 反码为 1 111 1111 1111 1010 符号位不变,其它位取反 -5 补码为 1 111 1111 1111 1011 反码+1 按无符号解释,这个数为:65531 printf( "%d" , -5 ); 按有符号输出-5 printf( "%hu" , -5 ); ...
楼主可以查一下谭浩强的C语言书中的 “格式输出” 一节,我记得那里面有介绍输出 16 进制的整型数据的方法。就用 printf 函数就可以实现。好像是,printf("%0xd",num); 不太肯定,楼主查一下就知道了。望采纳。
百度试题 题目若定义了unsigned short a=32768;,则执行printf(″a=%d″,a);语句的输出结果是 ( ) A. a=-32768 B. a=-1 C. a=32768 D. 数据类型不一致,出错 相关知识点: 试题来源: 解析 A.a=-32768 反馈 收藏
以下程序的输出结果是 [ ] 。 main( ) { unsigned short a=65536; int b; printf(“%d\n”,b=A) ; } 相关知识点: 试题来源: 解析 正确答案:0 解析:对于一个unsigned short来说,它能取的最大值是65535。这里给a赋值65536,已经超出了它的取值范围,这样它的高位将被截掉,只把低位赋给它(全零)。
unsignedchara=0;printf("%d",a-1);a - 1做运算时,a 是unsigned char类型,是短类型,1 是int...
因为%d是按有符号的int整型输出的,unsigned char和unsigned short转成signed int型,前面都会补0,即0x000000ff和0x0000ffff,所以都是正数,而unsigned long和unsigned int转完后是0xffffffff,所以是-1。你如果用%u打印就都是正数了。