C++逻辑与(&&)、逻辑或(||)和递归

2018-03-27  本文已影响0人  欢喜明

#include<iostream>

using namespace std;

int add(int c)

{

    int a=0;

    c&&(a=add(c-1));//递归循环,直到传入c的值为0则结束循环

    cout<<c+a<<endl;

return c+a;

}

int main()

{

add(10);

return 0;

}

运行结果:

0

1

3

6

10

15

21

28

36

45

55

记录1: 可以利用逻辑与(&&)的运算特性,实现if的功能:c&&(a=add(c-1));

记录2:递归运行是:每一层都不会立即返回,直到最后一层(下一层因为条件为假,不再调用),才一层一层的返回值。

记录3:上面的 c&&(a=add(c-1));  可以改为:(!c)||(a=add(c-1)); 利用逻辑或实现同样的效果。

上一篇 下一篇

猜你喜欢

热点阅读