不正确的c语言字符常量是,哪个是不正确的字符常量?

从Java语言的定义,ABCD都是错误的,4个都不是正确的字符常量。可以查阅《JLS8》中的描述:

A character literal is expressed as a character or an escape

sequence,enclosed in ASCII single

quotes.一个字符常量表示为一个字符或一个转义序列,被一对ASCII单引号关闭。

CharacterLiteral:

' SingleCharacter '

' EscapeSequence '

SingleCharacter:

InputCharacter but not ' or \

而转义序列包括:

EscapeSequence:

\ b (backspace BS, Unicode \u0008)

\ t (horizontal tab HT, Unicode \u0009)

\ n (linefeed LF, Unicode \u000a)

\ f (form feed FF, Unicode \u000c)

\ r (carriage return CR, Unicode \u000d)

\ " (double quote ", Unicode \u0022)

\ ' (single quote ', Unicode \u0027)

\ \ (backslash \, Unicode \u005c)

OctalEscape (octal value, Unicode \u0000 to \u00ff)

...

四个答案都采用的是双引号关闭,所以是字符串常量而不是字符常量。

忽略这个错误,那么这题就没有答案,因为无论是采用特殊字符的转移序列'\n'还是采用八进制转义'\101',都是满足Java语言规范中规定的字符常量格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值