递归以及地址运算符

来源:互联网 发布:淘宝网屏风富贵牡丹 编辑:程序博客网 时间:2024/06/07 01:00

一、递归

当执行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函数中进行了交换,当返回到主函数时两数并未改变。

0 0
原创粉丝点击