c语言中经常用到“\”,将其作用总结于下。
一、转义字符的标志
这里有必要对转义字符做一些说明:
1、转义字符中只能使用小写字母,每个转义字符只能看作一个字符,都有相应的ASCII码与之对应。需要注意的是\ddd和\xhh,实际上是对应ASCII码上的字符,故可以表示任意字符。例如响铃也可以表示为"\007"或"\x07"。
2、/v垂直制表和/f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。另外\b是退格,与键盘上的Backspace相近,不同的是\b其实并不会删除退回的部分,直到有其他字符占用原来的地方。例如:
printf("hello
world\b\t");
结果是:
printf("hello world\b\n");
结果是:
还需要注意到是在键盘上“回车”实际上是回车和换行两个操作。回车实际指回到一行的开头,‘\n’实际对应键盘上的回车键。
3、转义字符'\0',表示NULL,与空格不相同,它是一个空操作,不会产生任何结果。空格也是一个字符,有其对应的ASCII码。
4、如果反斜杠之后的字符不与其构成转义字符,则反斜杠不起作用而被忽略。例如:
printf("hello
world\c");
显示出来的结果是:
hello
worldc
其中反斜杠被忽略。
5、转义字符也可以出现在字符串中,当做一个字符看待。例如:
printf("mm\a");
显示的结果是mm,同时还有'\a',表示的鸣铃。用strlen计算字符串长度为3.
特别要注意的是字符串中遇'\0',表示字符串结束,并且不计入到字符串长度当中。因此''m\0n"的长度为1,而不是2.
二、“\” 表示此行没有结束
使用“\”主要是因为编写代码时一行不宜太长,用“\”能够告诉编译器此行未完。例如:
#include
main()
{
printf("Hello \
World");
}
如果不用反斜杠,编译器会报错。
但是需要注意几点:
其一,使用反斜杠要小心,因为它经常和注释搅在一起,而且如果没有语法高亮这种错误不易查找。以下是网上的一个例子:
http://sd.csdn.net/a/20110826/303659.html
这里编译器会以为“C:\”中的反斜杠表示“此行未结束”,故下一行也被注释掉,不会被执行。
其二,不能试图用反斜杠将关键字和标识符连接起来
例如第一个例子中,就不能写成
pri\
ntf("Hello World");
总之,关键字和标识符不能分开写。