ProghubPH
Вопрос из теста C основы
C / junior

Каким будет результат компиляции и выполнения следующего кода:

 один вариант
#include <stdio.h> 
int main() { 
    int a = 3; 
    switch (a) { 
        default: { 
            int b = 0; 
            a = b; 
            break; 
        } 
        case 0: { 
            int b = 3; 
            a = b; 
            break; 
        } 
    } 
    printf("%d", a); 
    return 0; 
} 
Код скомпилируется и напечатает число 3
Код скомпилируется и напечатает число 0
Код скомпилируется, но во время выполнения возникнет ошибка
Код не скомпилируется, так как переменная b объявлена дважды
Код не скомпилируется, так как default должен быть последней меткой в операторе switch