下列程序的输出结果为什么是10

main ()
{int a=011;
printf("%d"/n,++a
}

011,前面有0表示八进制数,所以a=9,++a,++在前面表示先执行加运算,在输出,所以打印结果就是10

0开头的数字是八进制
011就是十进制的9
++9输出10

a是八进制数,换算一下是9,然后输出a的前缀加加就是10