有人能够向我解释这段代码的含义吗?
private long GCD(long a, long b) {
return b == 0 ? a : GCD(b, a % b);
}
如果为零,则b等于a。否则GCD(b, a % b)
。如果0
在这里意味着什么呢?或者我误解了return b == 0 ? a : GCD(b, a % b);
答案 0 :(得分:6)
你的操作顺序错了; ?:
在此处具有最低优先级。代码等同于以下内容:
if (b == 0)
return a;
else
return GCD(b, a % b);
答案 1 :(得分:1)
如果为零,则b等于a。其他GCD(b,a%b)。如果0意味着什么呢?
不,请阅读如下代码:
return ( (b == 0) ? a : GCD(b, a % b) ) ;
你应该如何阅读代码:
0