首页 > 试题广场 >

以下对一维数组a的定义正确的是( )?

[单选题]

以下对一维数组a的定义正确的是()

  • int n = 5, a[n];
  • int a(5);
  • const int N = 5; int a[N];
  • int n; cin>>n; int a[n];
#include <iostream>
(3454)#include <string>
using namespace std;
int main(){
 int n1=5,a1[n1];
 int a2(5);
 const int n3=5;int a4[n3];
 int n4;cin>>n4;int a4[n4];//报错
}
//mingw C++ A、C行,D不行;A C的[]里面数是可知的,D的[]里是不可知的。
发表于 2020-03-23 22:33:38 回复(0)
不能在方括号中用变量来表示元素的个数
发表于 2020-05-10 16:51:06 回复(1)
1、定义数组,中括号内必须是常量。
2、int a(5)等价于 int  a = 5;不是数组
发表于 2020-08-11 13:30:18 回复(0)
此题不严谨,当处于c中,选项c是不被允许的, 而在c++则是可以的
发表于 2018-05-11 23:59:31 回复(5)
使用变量来定义一个数组的时候,不能在定义的时候初始化
再方括号里面使用变量来指定数组的大小是对的
int n = 10;
char a[n];    // 这是对的
char a[n] = "hello"; // 这样是错误的,不能初始化


发表于 2022-03-05 16:26:01 回复(2)
数组创建,在C99标准之前, [ ] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数
组的概念。
所以我直接排除了ABC,选了D
发表于 2022-02-08 10:20:55 回复(0)
A,C,D在xcode上都没有报错啊
发表于 2019-05-22 15:05:24 回复(3)
数组[]里必须是常量值
发表于 2020-10-09 08:53:02 回复(0)
感觉都是错的 c选项常变量还是一个变量 在新的编译器中这个是不被允许的
发表于 2022-05-25 12:30:26 回复(0)
不是有可变数组吗?
发表于 2021-04-26 07:44:24 回复(0)
1 数组定义使用的是[] 不是()错误
2 数组定义的元素个数必须是常量,c定义的是常变量N 初始化的值不会再改变,正确。B和D传入的都是变量,错误。
发表于 2021-03-31 16:49:23 回复(0)
gcc中A和C都可以通过编译
发表于 2020-11-16 15:24:19 回复(0)
C和D都是对的吧?
发表于 2019-03-29 18:10:41 回复(0)
C99标准下允许数组方括号内使用变量。但是之前的就不行,比如VS2022就不行。
A项是给n赋值成5,那么这个n就是个变量,我没有选这个选项,那说明这个题并没有引入C99的新规定,所以数组方括号里面的应该是常量而非变量,
B选项是圆括号a( 5 ) ,正确的符号应该是方括号a[ 5 ]。
C选项const使得N由变量变成了常量,而数组方括号里面的应该是常量而非变量。
至于D,我目前只学了C语言,可能这不是C语言的内容,或者是我学的还是太浅了,我没看懂,但不影响我这道题的选择。哈哈哈。。。
发表于 2024-08-29 18:09:41 回复(0)
狗屎题
发表于 2024-05-28 09:34:50 回复(0)
35745
发表于 2023-08-26 14:02:59 回复(0)
选项D

选项C

这两个编译都没有问题呀??
发表于 2022-08-10 20:52:34 回复(1)
在C里面这都不对,在C++中C选项是对的
发表于 2022-06-09 13:05:54 回复(0)
答案A也是正确的,gcc编译器没有问题,除非编译器很老。
发表于 2021-12-03 20:10:41 回复(0)
狗屎题,明明ACD都对
发表于 2021-10-26 19:08:18 回复(0)