按位或的输出问题C语言

main(){
printf("%x",0x13|017)
}

请问为什么输出结果是lf,这个017是什么进制呢

017 是 8进制数
按位或,首先要把两边的操作数 都换成 二进制数去计算,然后按 %x 去打印,这是 十六进制打印方式

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^