下列一维数组定义正确的是( )。为什么答案是B

2024-12-15 22:48:30
推荐回答(4个)
回答1:

定义数组时,数组的长度必须是整常数

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]; 这个也是正确的啊

回答2:

A/C两个肯定不对。
但个人理解,如果D的两个语句中间是分号,D和B都应该是正确的。
如果D中间是逗号,并且这样写,就错了:const int x=6,c[x]; //错误在于,c的定义也是常量了。

回答3:

B和D都正确,const 修饰的变量和宏定义的有一样的效果,但是const和宏定义不是一个概念。

回答4:

首先,a[i]中的i必须为整数,所以C错了,再者i要为静态的或者是常数,所以A错了
剩下的B和D都是对的,不用怀疑