第1个回答 2017-12-29
A. 正确. 字符和整型是可以按照ASCII码进行互换的, 字符'1' 的ascii码是49, 所以正确
B. 错误. int按照4字节算的话, 最大能表示的数字(按照无符号型)是(2^32)-1, 它能够表示的数字个数是2^32
C. 正确. a是短整型, 能够完全存放536这个数字, printf指定输出宽度为5, 所以左边会出现两个空格
D. 正确. short本身就是两个字节, 前面的unsigned只是将他修饰为无符号, 并不会对他所占空间造成影响
第2个回答 2017-12-29
答案应该是B吧,int型(4字节)所能表示的最大数字是2147483647,对应的二进制是
0111 1111 1111 1111 1111 1111 1111 1111,即2^31-1,因为最高位0表示符号位,0为正,1为负
如果是unsigned int类型,最大能表示的值也是1111 1111 1111 1111 1111 1111 1111 1111,
即2^32-1,也不是2^32啊。其他ACD选项都是对的。
第3个回答 2017-12-29
首先,题主说正确答案应该是C,但我并不这么认为。
我认为B是错的。int类型最大值为 2^32-1
A是正确的,‘1’的ASCII码十进制为49
C:%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出
D:unsigned short跟short占字节是一样的,只不过是无符号的。