我觉得是缺点,函数调用之前编译器应该知道函数的返回类型,参数类型和个数。
返回值会被转换为函数声明中指定的类型 A,相当于做了一次强制类型转换。
非法,编译器会报错。
返回值会被当成整型值。
传递给函数的实参将进行缺省参数提升,char 和 short 类型的实参被转换成 int 型,float 类型的实参被转换为 double 型。
这个函数假定传递给它的是10个元素的数组,函数的数组参数没必要指定大小。如果参数数组更大一些,它就会忽略剩余的元素;如果传递一个不足10个元素的数组,函数将访问数组边界之外的值。
同时如果一个递归函数内部执行的最后一条语句就是调用自身,这被称为尾部递归,尾部递归可以很容易地改写成循环的形式,循环的效率通常更高一点。
这个全局变量的值和斐波那契数列本身有关,每次的值是前两次调用函数的次数之和再加上1。
计算越往后,递归的次数越多,执行效率越低,所以尾部递归应该改写成循环的形式。