16、C语言中,以下定义语句中,错误的是( ).

16、C语言中,以下定义语句中,错误的是( ).

A) int a[ ] = {6,7,8}; B) int n=5, a[n]; ) char a[ ]= "string"; D) char a[5 ]={'0','1','2','3','4'};能告诉我详细分析吗?

A) int a[ ] = {6,7,8};
正确, 由初始化序列确定数组规模. 这里是3.
B) int n=5, a[n];
错误.原始C规范不允许用变量定义数组, 所以这个错误. 如果支持C99,那么这个是可以的.
C) char a[ ]= "string";
正确.与A类似, a数组元素个数为7(包括\0)
D) char a[5 ]={'0','1','2','3','4'};
正确.很标准的定义方式.但这个不是字符串,因为没有\0做结束符.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-20
B是错误的,定义数组的时候是不能用变量来做为数组的大小。定义数组是这样的 类型说明符 数组名[常量表达式],不能用变量。本回答被提问者采纳
第2个回答  2013-02-20
B是错误的,定义数组的时候是不能用变量来做为数组的大小的
第3个回答  2013-02-20
B错误,定义数组不能用变量直接定义数组大小,应为
#define N 5
int a[N];
第4个回答  2013-02-20
c 作为数组怎么没有{}啊