请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

字符用反斜杠+八进制或十六进制表示

字符a对应的ascii码里的是97,用八进制表示是\141
这里为什么不是\0141呢
十六进制是不是\ox61呢

为什么反斜杠只能是八进制和十六进制的,而不能是十进制的,还能是其他进制的吗?

正在回答 回答被采纳积分+3

3回答

bennyhuo 2022-01-17 12:18:22

给你看个图https://img1.sycdn.imooc.com//szimg/61e4ee0b09659c8d14720638.jpg

1 回复 有任何疑惑可以回复我~
bennyhuo 2022-01-16 21:08:26

八进制那个没什么道理可说,就是这么规定的,不用较真。就好像十进制的0001也是 1。

1 回复 有任何疑惑可以回复我~
bennyhuo 2022-01-16 21:09:32

十六进制不是说了 \x 开头嘛。十进制直接写就行了不用转义。

0 回复 有任何疑惑可以回复我~
  • 提问者 懒洋洋爱学习 #1
    emmmm,这是我是在C语言书上看到的,以0X或0x开头的数字常量被认为是十六进制,而八进制就是以数字0开头的,所以我想的是这里把十进制的数换成十六进制开头的数字也应该是0x,所以这里就不理解了,是可以随便舍去的吗,老师
    回复 有任何疑惑可以回复我~ 2022-01-16 21:20:07
  • bennyhuo 回复 提问者 懒洋洋爱学习 #2
    你说的整数类型的字面量,例如 int a = 0x61,这时候 a 得到的就是一个十六进制 61 对应的整数。不要混淆了哈
    回复 有任何疑惑可以回复我~ 2022-01-17 12:17:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信