转移字符中的双引号,单引号和反斜杠

来源:互联网 发布:java方法定义 编辑:程序博客网 时间:2024/04/28 15:36
在用双引号括起来的地方,里面如果要打印出双引号则必须在前面加上反斜杠(\”)否则会出现编译错误。同理,在用单引号的地方,里面如果要打印单引号必须在前面加上反斜杠(\’)。单引号和双引号使用时的匹配原则都是从左往右两两配对。另外,需要打印出反斜杠时,必须在前面添加反斜杠(\\)。
如下例子:
#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
0 0
原创粉丝点击