0

我正在拼命寻找一种方法来轻松计算 C 函数中所有可能的执行路径的数量。

例如,对于以下函数,我希望得到 3 的结果(如果有机会基于 'i' 进入任何 'if' 语句的值)

void test(void)
{
   if (i>0)
     x = x + 1;
   else if (i>10)
     x = x + 2;
   else
     x = x + 3;
}
4

1 回答 1

-1

使用逗号运算符作为

int test(void)
{
   int ways = 0;
   if (++ways, i>0)
     x = x + 1;
   else if (++ways, i>10)
     x = x + 2;
   else
   {
     x = x + 3;
     ++ways;
   }
   return ways;
}
于 2015-02-04T19:00:05.073 回答