在C中使用八进制转义序列

时间:2013-12-19 19:01:32

标签: c

为什么

printf("%s\n","\061");

在输出中打印1。我期待像=

这样的东西

3 个答案:

答案 0 :(得分:4)

061八进制== 49十进制== 0x31十六进制。这是角色'1'

的ASCII码

为什么期望'='

答案 1 :(得分:1)

061是八进制值,其十进制值为49。八进制中的075=的ASCII值 试试这个来打印=

printf("%s\n","\075");

答案 2 :(得分:1)

根据@ rici的建议编辑(阅读下面的评论..)

因为\ddd是字符八进制表示。 \061是八进制(非十进制)ascii代码'1'以及您是否写'\61' (它不是十进制)'\061'是同一件事。

您应该参考ascii表进行说明.. http://www.asciitable.com/