以下程序的输出结果是什么?

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:21:43
main()
{ int x=102,y=012;
printf(”%2d,%2d\n”,x,y);

输出什么 为什么? 谢谢

x=102,y=8
y=012是八进制,而%2d表示十进制

102,10 。%2d 用来控制输出位数,实际大于控制位数则自动突破。
102 整型不变。012 八进制,10进制整数输出为10

10 01
%2d表示只输出两位。

102,10//012是八进制,换算后是10;验算过了,绝对正确!1*8+2*8的0次方=10