• Предмет: Информатика
  • Автор: vlad228228337
  • Вопрос задан 3 месяца назад

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);
обязательно написать обьяснения

Ответы

Ответ дал: asilvejstruk
1

Після виконання цього фрагменту коду значення змінної x буде рівним 3.

Причиною цього є те, що в операторі switch у випадку, коли значення змінної a рівне 1, виконується не лише оператор x = 1, але також усі наступні оператори, доки не буде виконаний оператор break, який перервав би виконання умови. Отже, значення змінної x буде перезаписано значенням 2, а потім 3. Оператор default не виконується, тому що значення змінної a відповідає одному з значень у операторі case.


asilvejstruk: Да ну, всё правильно же
vlad228228337: Компилятор выдает значения 4
asilvejstruk: Мой даёт значения 3
asilvejstruk: Ты уверен, что правильно дал мне код
asilvejstruk: Может упустил какие-то детали
vlad228228337: Код скопирован был,уже нету разницы,уже сам решил
asilvejstruk: Прошу прошения, проверил действительно ошибся, сейчас исправлю
asilvejstruk: Дай телегу там поясню, ибо тут не дают отредачить
asilvejstruk: Код был скопировал не правильно, мой компилятор вообще не читал норм, ладно проехали уже
vlad228228337: @namewilson
Вас заинтересует