递归以及地址运算符

一、递归

当执行return语句时把控制返回给该函数的调用函数。





如上题中,先是依次执行n=1,n=2,n=3,n=4然后输出结果,之后运行到return0会返回调用它的上一级函数中即n=4时的情况,然后以此类推,再进行到n=1。然后输出结果。

其原理如下:





另外把递归调用语句放在函数结尾即恰在return语句之前这样的形式叫做尾递归。


二、地址运算符&

地址运算符&即以地址为参数,%p是输出地址的说明符。

间接运算符*也叫做取值运算符来获取某地址中所存放的数值。

eg:n = 2;

p = &n 即给出该变量n的地址

k = *p 即给出该地址&n所存储的数值即k = 2;





如上程序,利用指针进行数据的交换改变的是地址,当返回主函数时,数值可以进行交换,如果使用一般的交换,例如

temp = u;

u = v;

v = temp;

这样只是在interchange函数中进行了交换,当返回到主函数时两数并未改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值