Есть ли разница - писать функцию до switch или в его теле - C (СИ)
Формулировка задачи:
есть ли разница-писать функцию до switch,а затем вызывать эту функцию в нём или - вызывать и описывать её прямо в switch, может не совсем понятно выразилась ,поэтому пример:
до switch:
или в нём:
???
void anykey()
{
cleardevice();
bars();
outtextxy(55,55,"Do not ready, yet");
outtextxy(55,105,"Press any key for quit...");
getch();
cleardevice();
}
switch(fl)
{
case 1: anykey(); break;
case 2: anykey(); break;
default: break;
}
}
closegraph();
return(0);
}switch(fl)
{
case 1: void anykey()
{
cleardevice();
bars();
outtextxy(55,55,"Do not ready, yet");
outtextxy(55,105,"Press any key for quit...");
getch();
cleardevice();
}; break;
default: break;
}
}
closegraph();
return(0);
}Решение задачи: «Есть ли разница - писать функцию до switch или в его теле»
textual
Листинг программы
i= номер клавиши;
switch(i)
{
case 1: anykey(); break;
case 2: anykey(); break;
default: break;
}
}
Объяснение кода листинга программы
В данном коде выполняется проверка, какая клавиша была нажата (обозначена переменной i). В зависимости от этого выполняется вызов функции anykey(), но только в случаях, когда i равно 1 или 2. Если i не равно ни 1, ни 2, то ничего не происходит (выполняется пустой блок кода).
- Объявляется переменная
i, которая представляет собой номер нажатой клавиши. - С помощью оператора
switchначинается проверка значения переменнойi. - В случае, если
iравно 1, выполняется вызов функцииanykey(). - Если
iравно 2, также выполняется вызов функцииanykey(). - Если
iне равно ни 1, ни 2, то выполняется пустой блок кода (ничего не происходит). - После завершения блока кода в фигурных скобках, переменная
iбольше не используется.