Ete_ghost 2015-02-12 02:54 采纳率: 0%
浏览 2611
已采纳

C语言这样输出的数字是什么?

printf("%d %d %d",'\8','\10','\63');
和ASCII码什么关系吗?
新手,不太明白。

  • 写回答

6条回答 默认 最新

  • 秋海棠印 2015-02-12 06:20
    关注

    楼上解读有误啊
    首先 \ 表示的是字符转义
    所有的字符转义都是有规定的

    \a 响铃(BEL) 007
    \b 退格(BS) ,将当前位置移到前一列 008
    \f 换页(FF),将当前位置移到下页开头 012
    \n 换行(LF) ,将当前位置移到下一行开头 010
    \r 回车(CR) ,将当前位置移到本行开头 013
    \t 水平制表(HT) (跳到下一个TAB位置)009
    \v 垂直制表(VT) 011
    \ 代表一个反斜线字符''\' 092
    \' 代表一个单引号(撇号)字符 039
    \" 代表一个双引号字符 034
    \0 空字符(NULL) 000
    \ddd 1到3位八进制数所代表的任意字符 三位八进制
    \xhh 1到2位十六进制所代表的任意字符 二位十六进制

    '\8' 其实系统认为它是一个八进制的数值表示的字符 可是8并不是八进制可以表示的字符
    所以用gcc编译的时候会报warning
    warning: unknown escape sequence: '\8' [enabled by default]
    但是编译器会自动优化为字符'8' ,所有用%d还是可以输出字符'8'在ascii码的顺序号56

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料