2.7:
解释下列字面值常量的不同之处。
(a) 'a',L 'a',"a",L"a"
(b) 10, 10u, 10L, 10uL, 012, 0xC
(c) 3.14, 3.14f, 3.14L
答:(a)'a'为char型;L‘a’为wchat_t型(宽字符型);“a”为string类型,包含a和\0两个字符;L"a" 为宽字符串类型,
(b)10:int型;10u:unsigned int型;10L:long int型;10uL:unsigned long int型;012:八进制int型;0xC:十六进制int型
(c)3.14:double型;3.14f:float型;3.14L:long double型;
Exercise
2.8:
确定下列字面值常量的类型:
(a) -10 (b) -10u (c) -10. (d) -10e-2
答:-10:int型;-10u:unsigned int型;-10.:unsigned double型; -10e-2:double型;
Exercise
2.9:
下列哪些(如果有)是非法的?
(a) "Who goes with F\145rgus?\012"
(b) 3.14e1L (c) "two" L"some"
(d) 1024f (e) 3.14UL
(f) "multiple line
comment"
答:(c)非法。因为字符串字面值与宽字符串字面值的连接是未定义的。
(d)非法。因为整数1024 后面不能带后缀f。
(e)非法。因为浮点字面值不能带后缀U。
(f)非法。因为分两行书写的字符串字面值必须在第一行的末尾加上反斜线。