c语言中的问题!

sealofspirit 2009-05-01 12:05:57
有以下程序:
main()
{
int x=102,y=012;
printf("%2d,%2d",x,y);
}
请问输出结果y为什么是10而不是12?
谢谢!!
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sealofspirit 2009-05-01
  • 打赏
  • 举报
回复
谢谢各位了!!呵呵!!
acdbxzyw 2009-05-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liliangbao 的回复:]
y=012;//表示八进制了~
[/Quote]

数字以0开头表示是八进制数,以0x开头表示是十六进制数。
lingyin55 2009-05-01
  • 打赏
  • 举报
回复
y=012; ///8进制,输出的时候用的是%d,十进制输出,所以是10
printf("%2d,%o",x,y); 这样就输出12了
liliangbao 2009-05-01
  • 打赏
  • 举报
回复
y=012;//表示八进制了~

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧