很坑人的小问题

avatar

A) '8'
B) 'G'
C) ' '
D) 'abc'
E) '\n'
F) '\4'
G) '\8'
H) '\46'
I) '\046'
J) '\0046'
K) '\546'
L) '\38'
M) '\x4'
N) '\xAb'
O) '\xG'
P) '\x000Ab'
Q) '\xabc'
R) '"'
S) '''
T) '''
U) ''
V) '\'
W) '\c'
X) '\N'
Y) '\X3a'
Z) ''
以上字符常量,哪些是合法的?

我的最初答案:A B C F G I K L M N O P Q W Y
(很多是错的)
百科:

字符常量有两种:

一种是普通字符,即用单撇号括起来的一个字符,如'b' ,'y',‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。
另一种是转义字符,即特殊字符常量。转移字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义。 [1]
另外还可以用字符的ASCII码表示,即用反斜符()开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:
一种是用字符的八进制ASCII码,表示为:\0dd.这里,0dd是八进制值(0可以省略)。
另一种使用字符的十六进制ASCII码值,表示为 \xhh或Xhh 这里hh是两位十六进制值

正确答案在隐藏区

查看隐藏内容, 这将会花费 10 积分
目前还没有回答,快来帮帮TA吧!
添加一条评论 请尽量发布对他人有帮助的评论

登录后可发布评论

登录 | Github登录