在C语言中对一维整型数组的正确定义为( )
A)int a(10); B)int n=10,a[n];
C)int n;a[n]; D)#define N 10
int a[N];
规范化法国恢复
17349165217 回复 17349165217: 1
#define N 10,是预编译过程,在编译前会把所有的N替换成10,因此int x[N]在编译前会被换成:int x[10];,N即常量10,因此不会有错。 至于 后面int N = 10; int x[N]; N为变量,在c语言中,是不允许的。
D和B不是一个性质吗,都是没有分配空间,不懂
C99之后B选项可以正确编译,但是如果按照谭浩强C语言则正确的只有D
qsanjin 回复 summerccc: D和B不是一个性质吗,都是没有分配空间,不懂
亲测B选项能正常编译运行。
wthen 回复 evangelion: 不能吧,数组在定义时就要分配空间,这么写可能会出问题。a[n]中n为变量,你编译器是什么
kkk43 回复 wthen: 这个是谭浩强时期 Borland 编译器才有的情况,现代 C 语言编译器都能通过上下文推断出n。
D
#define N 10...
用户登录可进行刷题及查看答案
登录后提交答案