case 后接 const 常量的问题 C深度解剖
该书中有一个问题:case 语句后面是否可以是const修缮的制度变量?首先看了case语句,case语句后面只能跟常量或常量表达式。
在百度上看了,好几个人都说不可以。
但是我在vs2008 C环境下和KeilC中测试是可以的。
#include <stdio.h>
void main(void)
{
int const dat = 2;
int x = 0,z;
switch (dat)
{
case 0:
x += 1;
break;
case 1:
x += 2;
break;
case 2:
x += 3;
break;
default:break;
}
z = x;
}
所以我认为是可以在case后面接const修饰的只读变量的。
你认为呢? 哦,不好意思,上面搞错了,应该是 dat 放到case 后面。
不知道行不行,晚上在试下。
应该是像书上说的那样不行吧。 应该不行的,dat是变量,不是常量!不知道楼主试验结果如何? case 后面确实只能是常量。
谢谢大家参与 应该是不可以以的~~const修饰了~~他本身还是变量~~只是他是不能改变的变量~~~如果可以应该是编译器对其的理解不一样~
页:
[1]