Samzz. 2019-05-12 21:18 采纳率: 0%
浏览 362

为什么y在输出时为10,原理是什么?

各位大佬,求问y为什么输出为10,求原理。

#include
int main()

{

int x=102,y=012;

printf("%2d,%2d",x,y);

}

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-05-12 22:45
    关注

    如果问题得到解决,请点我回答左上角的采纳,谢谢

    在C语言里,如果是 y = 012,0开头,会被当作8进制。类似地,如果y = 0x12,则被当作16进制。
    8进制的12,也就是8x1+2=10
    如果是0x12,就是16x1+2=18了。

    评论

报告相同问题?

悬赏问题

  • ¥20 ARKts悬浮窗和快捷方式问题
  • ¥15 comparecluster没有办法kegg
  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES