C语言数组定义

发布网友 发布时间:2022-04-24 03:50

我来回答

3个回答

热心网友 时间:2022-07-12 01:31

int
n=4;这一句实践定义了n为int型变量,给它赋值4后当然i还是变量,因为i是可以变的量,而数组要求开辟一个指定的空间,所以括号中为了与之对应就不能用变量,只能是常量,比如int
a[5];或在程序前已定义了宏#define
n=5;
在写成a[n]就可以了,因为这时的n已经代表一个常量了,而不是像int
i=4中的i(还是个变量,因为你以后可以改变它的值)

热心网友 时间:2022-07-12 01:31

这是不行的.
定义静态数组时长度必须是常量.
所以如果n要从键盘输入的话,就必须定义成动态数组.
方法如下:*/
int
i,
n
,*a;
scanf("%d",
&n
);
a
=(
int*
)malloc(
n
*
sizeof(int)
);
//动态申请数组,长度为n
//使用时就这样:
for(
i
=
0;
i
<
n;
i++
)
{
scanf("%d",
&a[
i
]);
}

热心网友 时间:2022-07-12 01:32

这个的确是错误的。
若想要这样定义int
a[n];可在程序前加上#define
n
4,然后把前面的int
n=4;删了,这样就行了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com