以下能正确定义一维数组的选项是( )
选择一个答案
A. int num[];
B. #define N 100 int num[N];
C. int num[0..100];
D. int N = 100; int num[N];
楼上说D通不过编译器,这么肯定,我觉得装个编译器试试
追答d也得再某些 情况下可以!
linux下可以 我再vs2008中测试不可以
gcc -Wall -g -lm -lcurl -lssl -lpthread -lreadline -lGeoIP baidu.c -o baidu
baidu.c:2: warning: return type of ‘main’ is not ‘int’
baidu.c: In function ‘main’:
baidu.c:5: warning: unused variable ‘num’
$ cat baidu.c
#include
void main()
{
int N= 100;
int num[N];
printf("hello world\n");
}
现在我很晕, 为了作业,选B..为了编程,是不是就没答案了?
追答理论上讲这个问题应该是B,但是写法不对!
有详解么?
A. 差什么?
C. 多了一个点 应该是int num[0,100] 还是?
D. 错在哪里?
A,没有定义大小.
C,语法都不对。没有这种写法。
D,对于编译器来说N是一个变量。静态数组不能那么定义。动态数组也不是那么定义的。
总体说来。。就是:ACD都过不到编译器。语法错误。这个不用解释吧。