C小程序问题

256关注615浏览

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Leo

    30人对此回答表示赞同

    有什么诡异的 递归么
    展开
    30
    0回复
    发布于 8年前

    评论(0)

    收起评论

  • 柠檬蛋挞

    30人对此回答表示赞同


    函数的递归调用 在函数里调用函数自身叫递归
    你先输入a 执行判断if((c=getchar( ))!='\n') 为真 所以执行下面的fun( ) ;
    执行这个就要求你再输入一个字符 你输入了b 判断语句if((c=getchar( ))!='\n')仍为真 再调用if((c=getchar( ))!='\n') 知道你输入回车 此时if((c=getchar( ))!='\n')为假 才执行putchar(c);
    限制性最近一次的fun();的putchar(c);
    然后是倒数第二个fun();的putchar(c);
    然后。。。
    所以是倒序输出的
    展开
    30
    0回复
    发布于 8年前

    评论(0)

    收起评论

  • 遥遥无期

    30人对此回答表示赞同

    这是函数的递归调用!
    展开
    30
    0回复
    发布于 8年前

    评论(0)

    收起评论

  • 胡歌是我哥

    30人对此回答表示赞同

    我现在是忠于明白递归的整的了,
    先说这里:
    void fun( )
    {
    char c ;
    if((c=getchar( ))!='\n')
    fun( ) ;
    if成功,则调用他自己(fun),
    然后就和正常调用一样,从上向下运行,
    如果if继续成功(1),则继续调用他自己(fun),
    if(1),则一直循环下去,直到if(0)...

    if(0),那么fun就不会被调用了,那么,下来就执行putchar(c)了,
    由于前面的字符循环读取,就像你砌墙一样,一块块砖块向下压,下面的砖块就相当于你一开始读取的字符,,不是有句歇后语吗,什么什么砌墙的砖头,后来者居上,那么先来者就居下了,懂不???

    所以putchar(c); 就从上向下一直读取到最后一个字符...就像你砌的墙不合格,拆了一样,肯定是从上向下一层层拿掉了...
    展开
    30
    0回复
    发布于 9年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部