C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因

2024-11-21 17:12:37
推荐回答(3个)
回答(1):

D不正确,因为C语言中定义数组时给出的数组长度必须是定值,不能是变量。因为C语言在编译时根据定义的大小一次性分配内存。这些是可以的:

#define N 5
char p[N];//正确
char a[4];//正确

即使是const变量也不能用来声明数组下标。

const int a = 9;
char p[a];//错误,编译不通过,C++可以

回答(2):

D int 前没加const

回答(3):

D c语言数组定义 不能用变量,可以用常量