c语言中switch后的case所跟常量问题
问题描述:
int a=1,b=2,c=3;
switch (a+b)
case 1:
break;
case c:
break;
做题时遇见的,c不是常量吗,为什么case c语法错误,求解
答
const int c =3,加const弄成常量。你现在定义确实是变量,因为里面的值是可以变的。
答
c不是你int c定义出来的吗,是个鬼常量,这是标准的变量
答
你人脑处理看到的是c赋值为3,对电脑来说你给它的就是一个非字符的int型变量,肯定给你报错啊。