在用双引号括起来的地方,里面如果要打印出双引号则必须在前面加上反斜杠(
\”
)否则会出现编译错误。同理,在用单引号的地方,里面如果要打印单引号必须在前面加上反斜杠(
\’
)。单引号和双引号使用时的匹配原则都是从左往右两两配对。另外,需要打印出反斜杠时,必须在前面添加反斜杠(
\\
)。
如下例子:
#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