int m=011, n=11;printf("%d %d\n", ++m, n++ 输出m是10,为何

如题所述

m=011化为十进制是9,你输出的时候是++m,就相当于m=m+1;所以m就等于10了,这是单目运算符的规则,如果你是输出printf("%d %d\n", m++, n++ ),那么m就是9了。。。关于单目运算符你可以看下书的描述
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-17
C语言里面以0和数字开头表示八进制
所以m是八进制的11,也就是十进制的9

剩下的就好理解了
谢谢采纳本回答被提问者和网友采纳
相似回答