要求定义具有8个int类型元素的一维数组,下面定义语句错误的是( )。
A.# define N 8
int *a[N];
B.# define N 3
int a[2N+2];
C.int a[ ]={0,1,2,3,4,5,6,};
D.int a[1+7]={0};
A定义的是指针
B因该写成 int a[2*n+2]
C数字6后面多了一个逗号 且题目上面说了是8个元素,花括号里面只有7个元素
D目前不知道问题是啥(自我感觉对的) 就相当于给第一个赋值为0
c也不对吧,只有7个int
快乐小土狗 回复 王先生考上了: 注意6后面有个逗号
王先生考上了 回复 快乐小土狗: 感恩大佬
B咋不合法?
快乐小土狗 回复 我有我的名字: 2N不合法,int a[2N+2];正确写法应该是int a[2*N+2];
我有我的名字 回复 快乐小土狗: 噢!谢谢
A定义的是指针数组
解析:对于下标的要求,一是不能越界...
用户登录可进行刷题及查看答案
解析:对于下标的要求,一是不能越界,二是只能是常量表达式,三是首地址从0开始,结束n-1,答案A、D正确;对于数组的初始化,有两种情况,即全部赋值或部分赋值,对于全部赋值的情况,可以不必指明数组元素的个数,答案C正确;选择式B中2N+2的2N不合法。
答案:B
登录后提交答案