看看下面的例子:
int main(){
char *s = "Hello";
switch (s[0]) {
case "Hello"[0]:
return 1;
case "Goodbye"[0]:
return 2;
default:
return 0;
}
}
编译此示例时,我收到一个错误,抱怨 case 标签不是整数。但这似乎不正确,因为"..."[0]
解析为整数。
有人可以对此有所了解并解释为什么这段代码无法编译吗?