C语言反斜杠问题

a[100]="C:\abc\def\ge.txt"
如何得出 a中字符数, strlen(a) 不行

"\"是转义符。

C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

拥有转义字符的原因基本上是两点:

一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。

二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。

扩展资料

八进制转义字符

八进制转义字符它是由反斜杠'/'和随后的1~3个八进制数字构成的字符序列。例如,'\60'、'\101'、'\141'分别表示字符'0'、'A'和'a'。

因为字符'0'、'A'和'a'的ASCII码的八进制值分别为60、101和141。字符集中的所有字符都可以用八进制转义字符表示。如果你愿意,可以在八进制数字前面加上一个0来表示八进制转移字符。

参考资料来源:百度百科—转义字符

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-24
输出5,6
char
s[]="\n123\\";
s包含6个字节,分别是
\n
1
2
3
\\
\0
strlen(s)只统计s中非0字符的总数,所以不包括结尾的\0,sizeof(s)则返回字符数组的大小,包括\0在内
所以输出5,6
望采纳
第2个回答  2019-06-09
输出:5,6.原因:字符串内容为一个换行符、三个数字、一个反斜杠,共是5个字符,长度为5.
有因为字符串最后有一个“\0”字符,所以大小为6.注意:“\n”和“\\”分别表示换行符与一个反斜杠。
第3个回答  2020-01-13
输出:5,6.
原因:字符串内容为一个换行符、三个数字、一个反斜杠,共是5个字符,长度为5.
有因为字符串最后有一个“\0”字符,所以大小为6.
注意:“\n”和“\\”分别表示换行符与一个反斜杠。
第4个回答  2019-04-09
\
表示转意字符,意思是这个字符不再是单纯的斜杠,而要结合后面的一个值,有很多是有特定的意思,比如\a表示”嘟“一声,\n表示换行,\\表示一根斜杠,\t表示打印一个table,还有其他很多有特定意思,我就不完全举例了
-物联网校企联盟技术部

c语言中s=’\\\\’为什么对?
在 C 语言中,'\\' 是一个字符常量,它表示反斜杠字符。反斜杠字符本身可以用来转义其他字符,例如换行符(\\n)、回车符(\\r)等。因此,在字符常量中使用反斜杠需要进行转义,即在反斜杠前面加上另一个反斜杠。所以s='\\\\'是对的....

为什么在c语言中反斜杠\\ n表示\\0?
在字符串中反斜杠符号是用\\\\来表示的\\的出现必定意味着转义,单个的\\符号是没有意义的 "\\\\\\065a,\\n"应该这样解析:\\\\ \\065 a ,\\n 长度为5所以如果变成"\\\\065a,\\n"这样的话会这样解析:\\\\ 0 6 5 a ,\\n 长度为7 关于\\0:刚刚在C语言中测试了一下printf("hello\\0 world");输出结...

C语言字符串反斜杠表示问题
"\\"是转义符。C中定义了一些字母前加"\\"来表示常见的那些不能显示的ASCII字符,如\\0,\\t,\\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没...

c语言反斜杠的问题
输出为5,6。反斜杠在C语言中被用作转义字符,如果要输出反斜杠字符本身,则在程序中必须写成\\\\。在你上面的程序中,\\n是一个字符,\\\\是一个字符,因而在取字符串长度时,就是5;因为s是一个字符数组,而用来对其进行初始化的字符串是以\\0结尾(编译时会自动加上),所以sizeof(s)是6。

C语言中的反斜杠b()是什么意思
C语言的斜杠\\和反斜杠\/怎么区分啊 1、正斜杠\/ 上面向右倾斜,反斜杠\\ 上面向左倾斜。 2、正斜杠\/表示除法,分隔。在windows系统中通常用来分隔命令列引数,\/表示选项等。不能作为档名。反斜杠\\,在windows系统中用来表示目录。而在unix系统中,\/表示目录。由于web遵循unix命名,所以在网址(URL)...

C语言反斜杠问题
拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。

c#的反斜杠\\ b是什么?
C语言中的反斜杠b(\\b)(可以在输出中删除刚输出的一个字符)。例如:printf("abcde"); printf("\\bABCD\\n"); 后,实际的输出为abcdABCD(后输出的A把e覆盖了)。C#中反斜杠\\与斜杠\/ 转义字符路径的问题 在C#中 \\ 是转义字符,只转义其后面的一个字符,在某些特殊情况下,需要两两配对使用...

c语言中'\\'这样写为什么不对
反斜杠是个转义字符,所以,要想使用字符“反斜杠”必须这样用: '\\\\'

菜鸟C语言请教,反斜杠的意义
反斜杠有两种意义:续行符。预处理时把行末的反斜杠和那个换行符一同去除。在字符和字符串字面量里引起转义字符,数值转义码和统一字符名称。在示例中,不需要转义也不影响字符串的含义。如果是字符,就需要对'进行转义:'\\'';同样的,在字符常量里可以不对"进行转义:'"'转义字符包括\\a \\b \\f ...

为啥C语言打印斜杠会报错?
您好,因为反斜杠把双引号转义了,所以你需要去掉反斜杠\\,或者多加一个双引号。

相似回答