问题
单项选择题
若有如下程序;
main()
int m=-i;
printf("%d,%u,%o,%X",m,m,m,m);
则程序运行后的输出结果是( )。
A.-1,65535,177777,ffff
B.-1,-1,177777,fffe
C.-1,1,177777,ffff
D.-1,65535,177776,fffe
答案
参考答案:A
解析: -1为带符号的整型数,在内存中的存放形式为1111111111111111。按带爷号的整型格式输出仍为-1;按无带符号的整数输出为65535(将1111 1111 1111 1111转换为十进制数);按八进制数输出为177777(将1111 1111 1111 1111转换为八进制数,方法为由低位到高位,每三位一组,用一个八进制数代替);按八进制数输出为ffff(将1111111111111111转换为十六进制数,方法为由低位到高位,每四位一组,用一个十六进制数代替)。