红联Linux门户
Linux帮助

一个有趣的程序面试题

发布时间:2011-04-02 18:30:06来源:红联作者:tiany524
有时候,有些面试题是很是无厘头,这不,又有一个,还记得小时候玩的的“火柴棍游戏”吗,就是移动一根火柴棍改变一个图或字的游戏。程序面试居然也可以这么玩,看看下面这个火柴棍式的程序面试题吧。

下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。

int n = 20;
for(int i = 0; i < n; i--){
printf("-");
}

挺有意思的,多想想在看答案吧
答案 http://coolshell.cn/articles/3961.html/comment-page-24#comment-41571
文章评论

共有 12 条评论

  1. ericyf800 于 2011-04-14 10:35:50发表:

    受教了 谢谢

  2. pl_014 于 2011-04-04 07:41:41发表:

    够能整人的

  3. hxues 于 2011-04-03 18:01:16发表:

    学习了

  4. wu6887421 于 2011-04-03 17:55:41发表:

    新手学习。。。。

  5. clh920202 于 2011-04-03 15:24:59发表:

    学习了

  6. tiany524 于 2011-04-03 14:08:26发表:

    6# hxues


    只能改变一个字符

  7. tiany524 于 2011-04-03 14:08:11发表:

    1
    2
    3
    4
    5
    6
    7
    8
    //第一种解法:在for循环中给 i 加一个负号
    for(int i = 0; -i < n; i--)

    //第二种解法:在for循环中把 i-- 变成 n--
    for(int i = 0; i < n; n--)

    //第三种解法:把for循环中的 < 变成 +
    for(int i = 0; i + n; i--)

  8. hxues 于 2011-04-03 10:47:09发表:

    int i = 0; -i < n; i--
    int i = 0; i < n; n--
    int i = 0; i < n; i++

  9. treo 于 2011-04-03 06:35:48发表:

    路过

  10. txgc_wm 于 2011-04-02 23:43:14发表:

    求解?

  11. breakbrain 于 2011-04-02 21:52:49发表:

    想了一个,
    - i--
    + n--

  12. Powercut 于 2011-04-02 21:05:25发表:

    睇睇下