void main( ){ int k=011; printf("%d\n",k++); } 这里的K怎么回事,为什么最后结果是9

[复制链接]
查看11 | 回复2 | 2012-12-21 11:24:48 | 显示全部楼层 |阅读模式
k的值为011,011和11是不一样的概念,C里面,011是八进制的表现形式,011转化成十进制是9,k++是先抛出在自加,所以输出的值是9...
回复

使用道具 举报

千问 | 2012-12-21 11:24:48 | 显示全部楼层
int k=011;数字前加0代表的是八进制数。格式为\0ddd,每个d代表是0~7的数字,则程序中的k的十进制数为9。输出语句中k++是先参与运算后自增。则输出为9...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行