1.转义字符:\t.
代码段1:
#include<stdio.h>
int main()
{
printf("c:\test\test.c");
return 0;
}
“\”和“t”组成了一个转义字符“\t”。
转义字符:转变了原来的意思。
输出结果:
2.转义字符:\n.
代码段2:
#include<stdio.h>
int main()
{
printf("ab\ncd");
return 0;
}
输出结果:
“\”和“n”组合在一起改变了原来的意思 ,一个换行的意思。
3.转义字符:\?
书写多个?时使用,防止它们被解析成三字母词。
代码段3:
#include<stdio.h>
int main()
{
printf("(are you ok??)");
//??)--]-三字母词
}
老的编译器??)会被解析成]。
代码段4:
#include<stdio.h>
int main()
{
printf("(are you ok\?\?)");
return 0;
}
输出结果:(are you ok? ?)
老的编译器输出结果:(are you ok? ?]
4.转义字符:\'.
用于表示字符常量。
代码段5:
#include<stdio.h>
int main()
{
printf("%c\n",'a');
return 0;
}
输出结果:a
代码段6:
#include<stdio.h>
int main()
{
printf("%c\n",''');
return 0;
}
这个代码的输出语句的两个单引号阔一个单元号会出问题。前面两个单引号会被认为是一对单引号里的单引号,后面一个单引号就落单了。在单引号前加一个\让它转义(\'),就不再是一对单引号阔着一个单引号而是阔着这一个转移字符。
代码段7:
#include<stdio.h>
int main()
{
printf("%c\n",'\'');
return 0;
}
输出结果:'
5.转义字符:\''.
用于表示一个字符串内部的双引号。
代码段7:
#include<stdio.h>
int main()
{
printf("%c\n","\"");
return 0;
}
输出结果:''
6.转义字符:\\ , \t.
\\是用于表示一个反斜杠,防止他被解释为一个转义序列符。
代码段8:
#include<stdio.h>
int main()
{
printf("c:\\test\\test.c");
return 0;
}
输出结果:
因为\t是转移字符无法打印出来,加上一个\变成了\\test。
\t为水平制表符(键盘tap键)。
代码段9:
#include<stdio.h>
int main()
{
printf("c:\test\test.c");
return 0;
}
输出结果:
7.转义字符:\a, \b, \f, \n, \r, \v.
\a警告字符(蜂鸣声)
\b退格符
\f进纸符
\n换行
\r回车
\v垂直制表符
8.转义字符:\ddd
3个d表示1到3个八进制数字。如\130X
代码段10:
#include<stdio.h>
int main()
{
printf("%c\n",'\130');
return 0;
}
输出结果:
八进制的130是十进制得多少呢?
十进制的130怎么算呢?
代码段11:
#include<stdio.h>
int main()
{
printf("%c\n",'\101');
//A-ASCII值是65, 8进制是101
return 0;
}
9.转义字符:\xdd.
dd表示两个十六进制数字。例如:\x30 0
代码段12:
#include<stdio.h>
int main()
{
printf("%c\n",'\x30');
return 0;
}
输出结果:
10.习题:求字符串长度
代码段13:
#include<stdio.h>
int main()
{
printf("%d\n",strlen("c:\test\328\test.c"));
return 0;
}
代码字符串长度是14.
“c : \t e s t \32 8 \t e s t . c”