xing919 2023-12-26 05:46 采纳率: 100%
浏览 14
已结题

为什么输出的i的值等于9

为什么输出的i的值是9.
i=010这个是是二进制数吗
main()
{
int i=010,j=10;
printf("%d,%d\n",++i,j--);
}
怎么解释,请求详细教教我

  • 写回答

3条回答 默认 最新

  • Bin_hao 2023-12-26 05:55
    关注

    所以说题目是这样的吗?

    main()
    {int i=010,j=10;
    printf(“%d%d,++i,j––);}
    
    

    010是八进制,转化为十进制1乘以8的1次方=8
    ++i,是先进性运算++,然后得到结果,所以++i,结果为9
    再按照十进制输出方式%d,输出结果就是9
    j--,是先得到结果再--,所以j--,结果是10。

    如果在输出j的值,就是9了

    
    ```c
    
    printf(“%d”,j);
    

    ```
    ps:0带头是八进制数,
    ————加B(Binary)表示 二进制,O(Octal)表示八进制,D(Decimal)或不加表示十进制,H(Hexadecimal)表示十六进制。
    在C语言里:整数有三种表示形式:十进制,八进制,十六进制。
    1.十进制:除表示正负的符号外,以1至9开头,由0至9组成。如,128,+234,-278。
    2,八进制:以0开头,由0至7组成的数。如,0126,050000.
    3,十六进制:以0X或0x开头,由0至9,A至F或a至f 组成。如,0x12A,0x5a000.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月28日
  • 已采纳回答 12月26日
  • 修改了问题 12月26日
  • 创建了问题 12月26日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部