这两个提示为啥,能给我说下原因吗,看了半天没看出来,马上就要考计算机二级了


30题:
选项A: 正确 。case 2 + 1: case 常量表达式。
选项B: case c: 错误,c 是变量
选项C: switch(x) 错误, x 是实数,case 1.0 case 2.0 错误,1.0 2.0 是实数,switch(整形) case 整形
选项D: switch((int)x); ,这里末尾多了分号 ';' ,错误。
24题: 输出:0,答案选B, 把代码缩进排列就看出来了:
#include <stdio.h>
int main()
{
int x = 1, y = 0;
if (!x)
y++;
else if (x == 0)
if (x)
y += 2;
else
y += 3;
printf("%d", y);
return 0;
}