gpt4 book ai didi

java - 条件组合时的圈复杂度

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:43 25 4
gpt4 key购买 nike

我想计算以下代码的圈复杂度。

    int test(int a, int b)
{
int result = 0;
if (a == 0 && b == 0)
result = -1;
else
result = a * b;

return result;
}

Mathwork 的 Polyspace 工具计算出的值为 2。Visual Studio 和 Eclipse 的 Metrics 插件显示 3。哪个是正确的?

最佳答案

程序有 3 条路径,因为“&&”是一个捷径条件。3 个路径/测试是:

    a=1 and b=7 (actually anything)  which short cuts and returns a*b or 7
a=0 and b=7 which goes to else and returns a*b or 0
a=0 and b=0 which goes to then and returns -1'

b 在第一个条件下未被评估的事实可能很重要。

关于java - 条件组合时的圈复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com