由于一个小错别字,我偶然发现了这个结构:
int main(void) {
char foo = 'c';
switch(foo)
{
printf("Cant Touch This\n"); // This line is Unreachable
case 'a': printf("A\n"); break;
case 'b': printf("B\n"); break;
case 'c': printf("C\n"); break;
case 'd': printf("D\n"); break;
}
return 0;
}
似乎switch
语句顶部的printf
是有效的,但也完全不可访问。
我得到了一个干净的编译,甚至没有关于不可达代码的警告,但这似乎毫无意义。
编译器应该将此标记为不可达代码吗?< br > 这有什么用吗?< / p >