Cyclomati c Сложность нескольких операторов if - PullRequest
0 голосов
/ 01 марта 2020
if (k =  = 1) 
        r  +  =  a;
else if (k =  = 2) 
        r  +  =  b;
else if (k =  = 3) 
        r  +  =  c;
else  
        r  +  =  d;


switch (k) {
    case 1:
    r   +  =  a;
    break;
    case 2:
    r   +  =  b;
    break;
    case 3:
    r   +  =  c;
    break;
    default:
    r   +  =  d;
    break;
    }

Я пытаюсь понять, является ли приведенная ниже диаграмма потока управления примерами для оператора множественного оператора if и для случая переключения. Я уверен, что это верно для случая переключения, но я не могу нарисовать один для кратного оператора if

Control flow grpah

1 Ответ

1 голос
/ 03 марта 2020

Оператор switch является ничем иным, как syntacti c sugar для кратного if / else. Потоки управления точно такие же. Такова сложность цикломати c.

...