void main(){int x = 023;printf("%d",x++);} 输出结果是什么 ? 谢谢

如题所述

输出结果是:19
因为你定义的x(int x=023;)是一个8进制数,该8进制对应的10进制为:19
输出是以(%d)10进制输出的,x++是先使用x的值(即表达式x++的值)为19,然后让x加1变成20,所以最后结果是19。
有疑问请追问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-10
023 是八进制的19, 输出结果是19 , 后边的++ 识别为字符,不做运算。。详看 printf函数http://baike.baidu.com/view/410546.htm
第2个回答  2012-10-10
像++,--这种操作要理解x++是先使用x然后再++,而++x是先让i+1再使用
第3个回答  2012-10-10
19
第4个回答  2012-10-10
编译通过等于19,不知道怎么算的