看下面的例子:
int main(){
char *s = "Hello";
switch (s[0]) {
case "Hello"[0]:
return 1;
case "Goodbye"[0]:
return 2;
default:
return 0;
}
}
当编译这个示例时,我收到一个错误,它抱怨case标签不是整数。但是这似乎是不正确的,因为"..."[0]解析为整数。 有人能够解释一下为什么这段代码不能编译吗?
"Goodbye"[0]
看起来确实是'G'
。 - Rüppell's Vulture