2024.7.16

3.8

4.(1)越界

(2)越界

5.数组是数据本身,而指针是数据的内存地址。

可以通过数组名和索引来访问数组中的元素。对于指针需要首先解引用才能访问它指向的内存中的数据。

数组的大小是固定的,一旦创建就不能更改。指针的大小可以是固定的或动态的,可以根据需要分配或释放内存空间。

数组的生命周期与它的元素相同,当数组超出作用域时,它所占用的内存空间也会被自动销毁。指针的生命周期取决于它指向的对象的生命周期,你需要手动管理指向的内存空间。

6.

普通的全局变量和static全局变量的生命周期都至本文件结束而释放。

普通的局部变量在函数每次被调用时都会重新分配内存空间,并且仅在本次函数调用中有效。而static局部变量在函数第一次被调用时分配内存空间,之后的函数调用中可以直接使用之前的内存空间,不会伴随程序的结束释放内存。

普通函数在程序的整个运行过程中都可以被调用。而static函数只能在定义该函数的C文件内部被调用,无法跨文件调用。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int fun(int n)
{
	if(n==1||n==2)//通过数列的规律发现,前两项都为1,作为递归的终止条件
	{
		return 1;
	}
	else
	{
		return fun(n-1)+fun(n-2);//要求第n项,就是求n-1项和n-2项的和
	}
}
int main(int argc,const char *argv[] )
{
	int i,n;
	printf("请输入你要打印的斐波那契数列项数:\n");
	scanf("%d",&n);//n为打印的项数
	printf("斐波那契数列:");
	for(i=1;i<=n;i++)
	{
		printf("%d ",fun(i));//fun函数返回的是第i项,所以用for循环打印每一项
	}
	return 0;
}

                            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值