定义数组时,数组的长度必须是整常数
A.x=6;int num[x]; x是个变量,不是常数
B.const int x=6;float a[x]; OK
C.const float x=6;int b[x]; x不是整数
D.const int x=6;int c[x]; 这个也是正确的啊
A/C两个肯定不对。
但个人理解,如果D的两个语句中间是分号,D和B都应该是正确的。
如果D中间是逗号,并且这样写,就错了:const int x=6,c[x]; //错误在于,c的定义也是常量了。
B和D都正确,const 修饰的变量和宏定义的有一样的效果,但是const和宏定义不是一个概念。
首先,a[i]中的i必须为整数,所以C错了,再者i要为静态的或者是常数,所以A错了
剩下的B和D都是对的,不用怀疑