C语言求问啊!!!!

main( )
{ int x=102, y=012;
printf("%2d,%2d\n",x,y);
}
的答案为什么会 是 102,012?
当输出y的时候不也应该是012么?

第1个回答  2014-02-13
0开头表示数是八进制的,而八进制的12 等于10 ,所以输出时以十进制输出,并保留梁为有效数字,即为 102 10本回答被提问者采纳
第2个回答  2014-02-13
输出应该是102,10

012 表示8进制的 12, 化为10进制得 1*8 + 2 = 10
第3个回答  2020-01-13
第4个回答  2014-02-13
你再把你的问题看一下,看不懂你的话
相似回答