main()
{int m=011,n=11;
printf("%d %d\n",++m,n++);}
输出结果是10 11
不明白为什么是10
main()
{int m=011,n=11;
printf("%d %d\n",++m,n++);}
输出结果是10 11
不明白为什么是10
m=011 这是8进制的转换为十进制
m=1*8+1=9
n=11
++m=10
n++=11
所以结果为 10 11
011是八进制,凡八进制表示需要前加0
11是十进制
而你输出%d要求十进制 八进制数011转成十进制是10
你可以用电脑带的计算器算
011是八进制,在C中,0开始的数字是八进制
011是十进制的9