突然想到面淘宝时的一道题

来源:互联网 发布:刘雯 知乎 编辑:程序博客网 时间:2024/05/01 23:41

不使用判断语句 循环语句来实现

给出一个正整数k 逆序输出从k到1的所有正整数

第一反应肯定是要用递归

 

问题是如何判断改结束

我给出的答案是

 

void f(int k)

{

assert(k);

        cout<<k<<endl;

        f(k-1);

}

 

面试官说如果是一个大工程里面的子程序的话,直接退出可不行;

结果是应该用到 && 

 

void f(int k)

{

        cout<<k<<endl;

        (k-1) && f(k-1);

}

 

 

现在发现 && 真是神器..很多东西都可以用它解决;