3. Визначити значення змінної x, що виводиться на екран, після виконання наступного фрагменту
коду:
int a, x;
a = 1;
x = 0;
switch( a )
{
case 1:
x = 1;
case 2:
x = 2;
case 3:
x = 3;
default:
x = 4;
}
printf("x=%d", x);
обязательно написать обьяснения
Answers & Comments
Після виконання цього фрагменту коду значення змінної x буде рівним 3.
Причиною цього є те, що в операторі switch у випадку, коли значення змінної a рівне 1, виконується не лише оператор x = 1, але також усі наступні оператори, доки не буде виконаний оператор break, який перервав би виконання умови. Отже, значення змінної x буде перезаписано значенням 2, а потім 3. Оператор default не виконується, тому що значення змінної a відповідає одному з значень у операторі case.