|
|
检测点10-14
1.在以下声明中,(AC)是合法的。
A.enum Color {Red, Green, Blue};
B.enum class Color {Red, Green, Blue};
C.enum Color : int {Red, Green, Blue};
D.以上都合法
2.以下switch语句合法吗?为什么?不合法的地方如何修改?
void f (int n)
{
switch (n)
{
printf ("哈罗!\n");
case 2: int i = 6;
printf ("%d\n", i);
}
}
答:不合法。case标号语句由case标号和后面的语句组成,但int i = 6;是声明而不是语句。修改方法之一就是添加空语句:
void f (int n)
{
switch (n)
{
printf ("哈罗!\n");
case 2: ;
int i = 6;
printf ("%d\n", i);
}
}
以上,printf语句并不会被执行,但它的存在没有语法问题。
|
|