C语言语句定义
发布网友
发布时间:2022-05-06 19:57
我来回答
共4个回答
热心网友
时间:2023-09-14 11:04
答案:C。
A、x[0],数组空间最小是1。如果定义为0,编译都不能通过。会提示“cannot allocate an array of constant size 0”和“ 'num' : unknown size”。
B、定义数组写数组的容量,x[0...10]没有任何意义。
C、定义N为10.后来int x[10],开辟空间为10*sizeof(int)的大小。合法,正确。
D、定义的时候int x[]就这些是错误的,这仅仅是定义。如果是定义的过程中同时初始化,就是你说的int num[ ] ={1,2,3,4,5,6}; 就是正确的了,定义的同时初始化就告诉系统我存了几个数,系统就自动计算出容量来了。但是只定义int x[],想后来再输入的话是不行的。
热心网友
时间:2023-09-14 11:04
D因为你的数组的声明和初始化是一起进行的
编译器会根据你给出的初始化参数自动给数组定长度
这里的num自动就是6个了
所以是对的
A是不行的N是变量,声明数组必须是确定的字面值,也就是必须是1、4、6、13。。。等等这种
要变量声明,你只能用alloc家族的函数
C是对的 因为你的N是macro
在编译之前会预编译,N会被替换成10,这样就是字面值10;
B。。。这都不用解释。。
热心网友
时间:2023-09-14 11:05
C是对的
声明N为10后可以int x[N]
热心网友
时间:2023-09-14 11:05
int num[]={1,2,3,4,5,6};这是c的一种赋值方式