使用注释需要注意两点:
注释不能嵌套(Nest)使用,就是说一个注释的文字中不能再出现/和/了,例如/* text1 /* text2 / text3 /是错误的,编译器只把/ text1 / text2 */看成注释,后面的 text3 */无法解析,因而会报错。
有的C代码中有类似// comment的注释,两个/斜线(Slash)表示从这里直到该行末尾的所有字符都属于注释,这种注释不能跨行,也不能穿插在一行代码中间。
像"Hello, world.\n"这种由双引号(Double Quote)引起来的一串字符称为 字符串字面值(String Literal),或者简称字符串 。注意,程序的运行结果并没有双引号,printf打印出来的只是里面的一串字符Hello, world.,因此双引号是字符串字面值的界定符,夹在双引号中间的一串字符才是它的内容。
C语言规定了一些 转义序列(Escape Sequence),这里的\n并不表示它的字面意思,也就是说并不表示\和n这两个字符本身,而是合起来表示一个换行符(Line Feed)。
C标准规定的转义字符有以下几种:
表 2.1 C标准规定的转义字符
如果在字符串字面值中要表示单引号和问号,既可以使用转义序列’和?,也可以直接用字符’和?,而要表示\或"则必须使用转义序列,因为\字符表示转义而不表示它的字面含义,"表示字符串的界定符而不表示它的字面含义。可见转义序列有两个作用:一是把普通字符转义成特殊字符,例如把字母n转义成换行符;二是把特殊字符转义成普通字符,例如\和"是特殊字符,转义后取它的字面值。
\a是响铃字符,在字符终端下显示这个字符的效果是PC喇叭发出嘀的一声。