若有如下程序; main() { int m=-i; printf("%d,%u,%o,%X",m,m,m,m);} 则程序运行后的输出结果是( )。

admin2013-02-23  45

问题 若有如下程序;    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

答案1

解析 -1为带符号的整型数,在内存中的存放形式为1111111111111111。按带爷号的整型格式输出仍为-1;按无带符号的整数输出为65535(将1111 1111 1111 1111转换为十进制数);按八进制数输出为177777(将1111 1111 1111 1111转换为八进制数,方法为由低位到高位,每三位一组,用一个八进制数代替);按八进制数输出为ffff(将1111111111111111转换为十六进制数,方法为由低位到高位,每四位一组,用一个十六进制数代替)。
转载请注明原文地址:https://kaotiyun.com/show/y9Jp777K
0

最新回复(0)