在用双引号括起来的地方,里面如果要打印出双引号则必须在前面加上反斜杠(\”)否则会出现编译错误。同理,在用单引号的地方,里面如果要打印单引号必须在前面加上反斜杠(\’)。单引号和双引号使用时的匹配原则都是从左往右两两配对。另外,需要打印出反斜杠时,必须在前面添加反斜杠(\\)。
如下例子:
#include <stdio.h>
void main()
{
printf("\"\\is called 'bask'.\"\n");//输出为"\is called 'bask'."
printf("\"\\is called \of ' bask\of '.\"\n");//输出为"\is called of ' baskof '."
printf("sfgs""\\is called 'bask'."".\n");//注意引号的使用原则,输出为sfgs\is called 'bask'..
printf("\"\\is called ""bask\n");//输出为"\is called bask
printf("\"\\is called "bask".\"\n");//编译错误,
char ch1,ch2,ch3,ch4,ch5,ch6;
ch1='\'';//单引号需要用转义字符方法
ch2=''';//编译不成功,因为前两个单引号已经构成一对,另外即使是ch2=''也是不对的,因为至少需要包含一个字符。
ch3='a';
ch4='"';//双引号
ch5='\';//编译不成功,因为\’被当成转义字符,缺少后引号。
ch6='\\';
}
如果反斜杠“\”与后面的字符不能构成转移字符则会被忽略(反斜杠不会被打印出来,但斜杠后的字符会被打印出)。如下例子:
printf("a\Nbc\nDEF\n");的输出为
aNbc
DEF