下面的程序的输出结果是() main(){int k=11;printf (''k=%d,k=%0,k=%x\n'');} 帮忙分析一下

如题所述

%d是10进制,%o是8进制,%x是16进制,这题就是把11分别用10进制、8进制、16进制表示
11的八进制是13,16进制是b,所以结果是:
k=11,k=13,k=b追问

为什么结果不是k=11,k=013,k=oxb????

追答

进制的符号在输出时是不显示的

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-25
#include<iostream>
using namespace std;
int main()
{
int k=11;
printf ("k=%d,k=%o,k=%x\n",k,k,k);
getchar();
return 0;
}

我在vs2008试了下,这个程序是按不同进制输出,中间那个应该是o,不是0;表示8进制,最后一个是十六进制。结果是11,13,b
第2个回答  2011-06-25
第一个是11,第二个是八进制的结果应该是13,第三个是十六进制的结果是b
第3个回答  2011-06-25
%o是八进制数,%X是十六进制数,%d是十进制数,这样懂了吧?
第4个回答  2019-06-21
为什么十六进制是b
相似回答