转义字符在输出时前面要加上“\”,如:
printf("\\t"); 输出制表符“\t”
printf("\\n"); 输出换行符"\n"
printf("\\"); 输出斜杠“\”
可以这样来理解,输出时,当遇到"\"时,表示转义,"\\"表示的是一个斜杠"\",这样后面跟的字母是什么就打印什么,不管后面跟的是什么字符。
有一个问题,就是回退符从键盘输入不了,在C语言经典教材《C程序设计语言》的1-10题中,要求输入回退符打印出"\b",参考答案程序如下:
-
#include <stdio.h>
-
-
int main()
-
{
-
int c;
-
while((c=getchar()) != EOF)
-
{
-
if(c ==
'\t')
-
printf(
"\\t");
-
else
if(c ==
'\b')
-
printf(
"\\b");
-
else
if(c ==
'\\')
-
printf(
"\\\\");
-
else
-
putchar(c);
-
}
-
return
0;
-
}
然而从键盘上输入回退键,只是将之前的输入删除,并不能打印出回退键。查看了一些人的解释,我对此的理解是,getchar()函数接受字符的触发点是按回车键,当输入一串字符时,只有按了回车键getchar()才从输入流中按一定算法提取一个字符,直到提取完输入流中的字符再等待输入。而删除字符时,输入的字符还没有进入到输入流中,所以按回车键触发getchar()时,是提取不了的。
另外,还有一些输出规则:
printf("%%"); 输出一个%
printf("%d"); 输出有符号十进制整数
printf("%o"); 输出无符号八进制整数
printf("%c"); 输出单个字符
printf("%s"); 输出一串字符
printf("%x"); 输出无符号十六进制整数