关於swich...case语句

来源:百度知道 编辑:UC知道 时间:2024/05/17 02:00:46
如下陈述
int a=0,b;
switch(a)
{
case a>0: b=1;break;
}
上面的程序是错的吧?
原因是case后只能是常量表达式,虽然a被赋了初值,但其还是整型变量,所以这样写错误。
请问这样说对不?我不打确定,c语言的高人指导下,我刚开始学,谢谢咯

常量字面常量和符号常量
只含常量的表达式称为常量表达式
字面常量就是平时我们写的一串数字或字符
123,'c',
符号常量是用#define预先给值,符号常量一旦给定不能被赋值或改变

#define A 1
你上面的程序如这样写就没错误了
#define A 1
main()
{
int b;
switch(A)
{
case A>0: b=1;break;
}
}