Возврат значения по условию в C++
Существуют некоторые приемы работы с return, упрощающие
код.
Рассмотрим, к примеру, следующий код:
#include <iostream>
#include <cmath>
double func(int num) {
double res;
if (num >= 0) {
res = std::sqrt(num);
} else {
res = 0;
}
return res;
}
int main() {
std::cout << func(3) << "\n"; // выведет 1.73205
return 0;
}
Как вы видите, в данном коде в зависимости от условия в переменную
res будет попадать либо одно, либо другое значение. А
последней строкой функции содержимое этой переменной возвращается
через return.
Давайте перепишем этот код в более сокращенной форме, избавившись
от ненужной здесь переменной res:
#include <iostream>
#include <cmath>
double func(int num) {
if (num >= 0) {
return std::sqrt(num);
} else {
return 0;
}
}
int main() {
std::cout << func(3) << "\n"; // выведет 1.73205
return 0;
}
Дана следующая функция:
#include <iostream>
int func(int num1, int num2) {
int res;
if (num1 > 0 && num2 > 0) {
res = num1 * num2;
} else {
res = num1 - num2;
}
return res;
}
int main() {
std::cout << func(3, 4) << "\n";
return 0;
}
Перепишите ее в сокращенной форме согласно изученной теории.