可能重复:
在基于 C 的编程难题中调试 switch 语句
我在网上找到了以下 C 问题:
#include<stdio.h>
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defa1ut:
printf("NONE\n");
}
return 0;
}
虽然我从未使用过 int '10' 的 'switch' 和 char '1',但我认为最糟糕的情况是无法编译,或者会执行“default”。但是不,在我的 VStudio 上,它直接进入“返回 0”。为什么是这样?
顺便说一句,虽然我有几年的 C 编程经验,但我以前的座右铭是坚持使用 MSDN 或可用的代码示例。现在随着采访和提问,我的技能的扎实性肯定受到了挑战。