C语言的简单问题!请高人教教我这只小菜鸟吧……555

#include "stdio.h"
void main()
{
char a,b,c,d;
a='\x67';
b='\l57';
c='\x6f';
d='d';
printf(" %c %c %c %c",a,b,c,d);
}

这个程序是什么意思啊!
a='\x67';
b='\l57';
c='\x6f';
特别是这三个是什么意思?怎么算的?
可\X和\L是很什么意思啊?请告诉我一下…… \L57这一句显示的结果是7,可以推测一下告诉我吗?可以追加20!虽然分少点还是麻烦你了……

转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。
在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。

使用转义字符时需要注意以下问题:
1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
2) \v 垂直制表和\f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
3) 在C程序中,使用不可打印字符时,通常用转义字符表示
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-11
\x是十六进制数
\l什么都不是,每次结果都是最后一位字符,你把l换成其他字母也一样(x除外)
a='\x67'; //输出ascii码为0x67也就是十进制103的字符 g
b='\l57'; //输出最后一位字符 7
c='\x6f'; //输出ascii码为0x67也就是十进制111的字符 o本回答被提问者采纳
第2个回答  2009-02-11
。。楼上的别误导人。
回楼主:
并不是\x. 而是:\x67.
\是转义. x67就是0x67是一个十六进制数。
\后面接十六进制数能打印出对应的字符。比如\x67就是g.
所以a='\x67'就等同于a='g'
至于\十六进制数和字符的对应关系,不需要记忆,会查资料就行。
关于\l57我真没见过。你看看是不是搞错了。
第3个回答  2009-02-11
\x十六进制
\八进制
那个是\一五七
相似回答