ToistQingzi
ToistQingzi
2020-08-16 18:45
采纳率: 20%
浏览 105

C++ 新手请教,递归函数,同样的意思,为什么其中一个会报错

图片说明
最大公约数辗转相除的递归式子
第一句正确得出结果。
第二句没有任何反应,用Debug还编译器闪退。

备注:这两句只是暂时放在一起比较,运行的时候只有其中一句。我是想问第二句为什么的没有结果?(第二句是书本的原话)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • qiu_shaofeng
    qiu_shaofeng 2020-08-17 09:38
    已采纳
    return (a%=b) ? t(b,a) :  b;加个括号
    
    点赞 评论
  • YH_24H
    YH_24H 2020-08-16 20:05

    因为执行了第一个return之后这个函数就退出了。不存在执行第二个return里的式子。

    点赞 评论
  • qq_41863100
    Admini$trat0r 2020-08-16 20:21

    return就结束了 把第一个return注释行 然后debug 或者打断点编译 直接执行第二个return

    点赞 评论
  • MFine
    MFine 2020-08-17 01:53

    同样的意思?你可真逗,语法都写错了,表达式也没写全,还同样的意思。
    return a%b ? t(b,a%b) : b;

    点赞 评论

相关推荐