为什么
printf("%s\n","\061");
在输出中打印1
。我期待像=
答案 0 :(得分:4)
061八进制== 49十进制== 0x31十六进制。这是角色'1'
为什么期望'='
?
答案 1 :(得分:1)
061
是八进制值,其十进制值为49
。八进制中的075
是=
的ASCII值
试试这个来打印=
printf("%s\n","\075");
答案 2 :(得分:1)
根据@ rici的建议编辑(阅读下面的评论..)
因为\ddd
是字符八进制表示。 \061
是八进制(非十进制)ascii代码'1'以及您是否写'\61'
(它不是十进制)或'\061'
是同一件事。
您应该参考ascii表进行说明.. http://www.asciitable.com/