单项选择题

有如下程序:     #include<iostream.h>     long fib(int n)     { if(n > 2) return(fib(n-1)+fib(n-2) );       else return(2);}     void main( )     { cout < < fib(3);}   该程序的输出结果是( )。

A. 数组是最简单的复合数据类型,是有限元素的有序集合
B. 数组的元素可以是值(基本数据类型)、对象或其他数组
C. 定义数组时,必须分配内存
D. 一个数组中的元素都必须是相同的类型