Другие языки программирования и технологии
Можно в функции switch параметром использовать return? С++
switch - не функция, а оператор выбора. return - возврат из функции к месту её вызова. Если switch расположен в функции (а где же ему ещё быть) , то return завершит её выполнение. Требуется чтобы то что возвращает return соответствовало возвращаемому значению функции. Если функция не возвращает, то и указывать возвращаемое значение не надо. Вывод: МОЖНО
Во-первых,
Switch - это не функция и не оператор!! !
Это конрольная структура!!!! Потому что, в зависимости от сравнения с каждым случаем case с начальным условием - конролируется дальнейшее поведение приложения.
Например
age = 13;
switch(age){
case '13' :
// делать что-то когда возраст 13
break;
case '17':
// делать что-то когда возраст 17
break;
default: // делать что-то когда возраст ни 13 ни 17
}
Это экивалент контрольной структуре IF:
if ( age === 13 ){
} else if ( age ===17 ){
}
....else {
default: // делать что-то когда возраст ни 13 ни 17
}
Во вторых,
Параметер это искомый агрумент функции. Функции! ! Этот термин не имеет отношения к контрольной структуре IF/switch!
int test(int a){ // <-- a это параметер
return a;
}
test(1); / <-- a "1" теперь - это аргумент!
В третьих,
Return - означает немедленно выйти из функции тем самым вернув её значение. Как было сказано, выше switch это контрольная структура!
Если использовать свитчер, то тогда не нужно использовать break для прерывания контроля. Например:
int test(int age)
switch(age){
case '13':
return 1;
default: return 0;
}
}
Switch - это не функция и не оператор!! !
Это конрольная структура!!!! Потому что, в зависимости от сравнения с каждым случаем case с начальным условием - конролируется дальнейшее поведение приложения.
Например
age = 13;
switch(age){
case '13' :
// делать что-то когда возраст 13
break;
case '17':
// делать что-то когда возраст 17
break;
default: // делать что-то когда возраст ни 13 ни 17
}
Это экивалент контрольной структуре IF:
if ( age === 13 ){
} else if ( age ===17 ){
}
....else {
default: // делать что-то когда возраст ни 13 ни 17
}
Во вторых,
Параметер это искомый агрумент функции. Функции! ! Этот термин не имеет отношения к контрольной структуре IF/switch!
int test(int a){ // <-- a это параметер
return a;
}
test(1); / <-- a "1" теперь - это аргумент!
В третьих,
Return - означает немедленно выйти из функции тем самым вернув её значение. Как было сказано, выше switch это контрольная структура!
Если использовать свитчер, то тогда не нужно использовать break для прерывания контроля. Например:
int test(int age)
switch(age){
case '13':
return 1;
default: return 0;
}
}
Похожие вопросы
- с++ внутри. Как из int преобразовать в char и *char и обратно. И есть ли аналог функций switch(a) где a не char a int?
- с++, передача функции в параметры
- Не могу понять каким образом работает return в рекурсивной функции?
- Вопрос насчет объявления и параметра функции в C++
- Как передать функцию в качестве параметра другой функции на C++?
- Как использовать переданный параметр из одной страницы HTML в другую?
- Оконное приложение на WinAPI, вопрос про параметры функции WndProc. Язык программирования Си.
- Помогите написать программу со switch в СИ
- Приведите пожалуйста пример программы на ассемблере, использующая API функцию GlobalMemoryStatus. Заранее спасибо.
- Есть ли фактические параметры в рекурсивной функции? В ней же нет вызова функции?