我对“返回”声明有一个简单的问题。示例在代码中。 我一直认为isPrime(n)总是“真实”。因为“回归真实”;在方法的最后,它应该覆盖以前的返回。任何人都可以帮忙吗?代码运行完美,产生了正确的结果。
table
答案 0 :(得分:3)
'return'退出函数,返回您返回的任何值。永远不会达到最后一次返回,因此它不会返回默认值。
答案 1 :(得分:0)
不,第二个return
不会覆盖之前的return
,甚至永远不会覆盖它。 Control会在return
后立即离开方法。
(唯一不会发生这种情况的方法是在finally
区块内设置第二个Glib::ustring
。这确实会改变返回值。但是非常气馁)
答案 2 :(得分:0)
不,一旦你从一个方法返回,你就完成了。如果你想说服自己,插入print语句,或通过调试器运行它。
答案 3 :(得分:0)
函数没有完全执行然后返回,它们可以在执行期间的任何时候使用return语句退出。
因此,如果找到>>> branches = [['t'], ['S', 't'], ['Q'], ['M', 'a', 'J', 'x', 'Y']]
>>> [(idx, id) for idx,val in enumerate(branches) for id,v in enumerate(val)]
[(0, 0), (1, 0), (1, 1), (2, 0), (3, 0), (3, 1), (3, 2), (3, 3), (3, 4)]
的数字,那么子程序将返回false并退出。
如果函数完成n % i == 0
循环并且从未解析for
语句,则返回true并退出。
答案 4 :(得分:0)
如果if (n % i == 0)
为真,则执行return false;
并退出该方法。只有在return true;
无法执行时才会出现return false;
。