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


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

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

回答

return (a%=b) ? t(b,a) :  b;加个括号