main() { int x=102,y=012; printf("%2d,%2d\n",x,y); } 执行后输出结果是02,12 跪求解释

厄...答案是102 12

"%2d"限制了输出的数字占2个字符空间,而且你还用的是右对齐,当然会出现那样的结果啦。你可以试试用“%4d”输出,结果就正确了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-18
不对吧。我试了下显示的是 102 10 啊。
y=012是指八进制。最终显示的是%d,是十进制。所以是10啊。本回答被网友采纳
第2个回答  2010-08-29
答案是102,10。012是八进制的,输出十进制数就是10
第3个回答  2010-08-18
楼主不对哦,答案应该是102,12哦
相似回答