函数除了可以通过传递参数来完成指定的功能外还具有返回值的特性,这使得函数的功能得到了进一步的拓展。好比,可以设计一个求和函数,这个函数不光可以计算出最后的结果,还可以将最后的结果作为一个变量返回到主函数中,如下:
#include <iostream>
using namespace std;
int sum(int num1, int num2);
int main(){
int number = sum(12, 13);
cout << number << endl;
return 0;
}
int sum(int num1, int num2){
int sum = num1 + num2;
return sum;
}
在上述的代码中,函数sum不光将12和13的和计算出来,还将结果作为变量赋值给了main中的number变量中,return就是负责将值返回,但是return返回值的方式是值传递,因此返回的不光可以是一个变量还可以是一个具体的数字,在使用时需要注意。
细心的读者会发现,main函数也具有返回类型,每次都会返回一个0,当main函数正常退出时一般就会默认返回一个0,这个返回的值被系统内部所接受,不会显示到任何地方。
利用目前的只是,可以通过函数等功能实现一个简单的计算器,如下:
#include <iostream>
using namespace std;
int sum(int num1, int num2);
int average(int num1, int num2);
int subtract(int num1, int num2);
int divide(int num1, int num2);
int main(){
int choce = -1;
int num1 = 0, num2 = 0;
char ch;
int result;
cin >> num1 >> ch >> num2;
switch (ch){
case '+':
result = sum(num1, num2);
break;
case '-':
result = subtract(num1, num2);
break;
case '*':
result = average(num1, num2);
break;
case '/':
result = divide(num1, num2);
break;
}
cout << num1 << ch << num2 << "=" << result << endl;
return 0;
}
int sum(int num1, int num2){
int sum = num1 + num2;
return sum;
}
int average(int num1, int num2){
int average = num1 * num2;
return average;
}
int subtract(int num1, int num2){
int subtract = num1 - num2;
return subtract;
}
int divide(int num1, int num2){
int subtract = -250;
if (num2 == 0){
cout << "输入的数据错误!" << endl;
return subtract;
}
subtract = num1 / num2;
return subtract;
}
在此代码中,将加减乘除各个功能分开单独用函数进行实现,最后在主函数main中进行调用,在编写代码时通过这种方式可以使代码的可读性更强,同时也使得代码维护和改进的难度更小。