【NB】C语言转义字符

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-9-10

快进来[滑稽]

[滑稽]凯特社区技术分享:TCP/IP[滑稽]
所有的ASCII码都可以用"\"加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

由于ASCII中的33个字符多数都已是陈废的控制字符,而严格意义上转义字符并不是控制字符,但有几个字符有控制字符的意味在里面。

比如要发出一个系统响铃,可以这样定义字符:

由于所有ASCII码都可以用“\”加数字(一般是8进制数字)来表示,如果要打印#号,尝试下面代码:

输出结果:

#,,3,#

分析输出:十进制35\u003C<->ASCII码#,ch输出正常。ch1要注意是八进制而不是十进制表示,所以应该这样:char ch1 = ‘\043’;才能正确输出#号,由于默认是八进制,也可以去掉0写成ch1=’\43’。至于ch2,’\0x23’原本想用十六进制表示值,但这行不能,’'只解析八进制。经尝试发现规律:令ch2=’\0ijk’ (其中i,j,k是任意数字或字母),总是输出最后指定的k;这里就不再去细究了。总之,用’\0xx’这种八进制的格式可以去表达所有ASCII码。

一般转义字符是随printf()、fprintf()这样的函数一起输出的。

板凳
NBXM114 2022-9-10
大佬的知识储备可是厉害[滑稽][滑稽]
地板
TCPIP 2022-9-10
我是菜鸡[滑稽][滑稽]
这个字母咋打出来的啊,兄弟。

图在这里。

6楼
玖月๑ 2022-9-23
奖励结算,当前结算等级:1;少侠辛苦了。

评论

登录后才可发表内容
  • 主题

    61

  • 帖子

    1533

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0902s Mem:2037Kb