+1和++的不同

在函数递归中,为了达到不断接近限制条件的目的,我们通常会用到+1或者是++

但在使用过程中,难免会有一些差错出现。

首先,先简单解释什么是前置++和后置++(以a++和++a为例子)

前置++:(++a)在使用a这个变量时,先让a自增1,然后再使用a

后置++:(a++)在使用a这个变量时,先使用a,再让a自增。

一般来说,a=a+1在逻辑上约等于a++、++a,但在实际操作运用中,存在一些问题,

下面是我自己做的一个自定义模拟strlen函数用于计算字符长度。

 

 产生了不同的结果,这是因为,str++是先使用str,读取的还是’b‘,数组传参只能传递首元素的地址,使用递归时,逻辑是,'b'进入自定义函数,限制条件判断,符合,递归,但读取的地址一直是’b‘,形成了死递归。

第一次发文,入门小白,若有出错,望能指出。

猜你喜欢

转载自blog.csdn.net/BanTanger/article/details/119725119