不合法常量,二级c题库里的基础性问题。。


为啥C选项只有a一个字符也要用双撇,表示字符串??为啥D项就不用双撇呢?

小园712
浏览 1083回答 1
1回答

onemoo

C 项:一个字符也可以作字符串啊。字符串并不是要求必须有两个以上的字符,只是要求必须以'\0'结尾而已。所以双引号括起的一个字符也可以作字符串。D 项:这里 \011 并不是 4 个字符。这也是反斜线引导的转义字符,\ 后面的三个数字是八进制数, \011 表示“八进制数11在编码中所表示的字符”。所以这就是单引号括起的单字符。B 项:其实在单引号中放多个字符也是合法的!  这个题目出得不严谨!这其实是表示一个 int 类型值,至于如何转为整型值则是 C 标准的“未指定”行为。当然在表示字符时要避免这样写,在单引号内只放一个字符显然是更清晰的写法。
打开App,查看更多内容
随时随地看视频慕课网APP