在C语言中,字符型常量是由单引号括起来的单个字符,例如'a'、'A'、'1'等等。
也有特使情况的,例如'\n'、'\t'等,这些字符型常量叫做转义字符,顾名思义,这种字符会转换成具体的内容,而不是单引号里的字符,上述例子中,'\n'是换行符,'\t'是水平制表符,这种字符由反斜杠“\”,和一个字符或一个八进制或十六进制数组成。
B.本义是八进制转义序列,但是却出现了一个非八进制数字8,错误
C.不符合字符常量的定义,错误
D.双引号表示这是一个字符串常量,而不是一个字符常量。
A.这是一个十六进制转义序列,正确。
****************************************
并不是说单引号括起来的数字就都不是字符常量,而是不能有多于1个字符用单引号括起来,否则,就成了一个多字节字符,就不是一般意义上的字符常量了,例如:
'a'
'5'
'6'
都是字符常量,但是像下面这样的就不算是严格意义上的字符常量了:
'65'
'ab'
'22236'
A全是字符常量
A中以x开头 为16进制 '21'
B中以0开头 为8进制 ‘\081’ 中出现了8 否定之
C‘65’ 不是字符
D是字符串
A是ASC 码值为X13的字符,可以去查ASC码表。
c要改成'\65'才是字符。