【C语言初学】求详解

[复制链接]
查看11 | 回复1 | 2010-7-8 23:05:22 | 显示全部楼层 |阅读模式
main()
{
int x=102,y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出结果是102,10 为什么?
%2d
不是输出的整形数据的位数为两位么

回复

使用道具 举报

千问 | 2010-7-8 23:05:22 | 显示全部楼层
102是十进制,而012是八进制,输出的时候按十进制,012的十进制即为10。 如果超出了,会按照原来的输出。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行