|
昨天刚学完 引用 练习一下~
- #include<iostream>
- #include<string>
- const double PUBLIC_PAI = 3.14; // 方便调试
- using namespace std;
- const double &YUAN_C(double &YUAN_C_R) //引用 节约内存
- {
- return PUBLIC_PAI * (YUAN_C_R + YUAN_C_R);
- }
- const double &YUAN_S(double &YUAN_S_R)
- {
- return PUBLIC_PAI * YUAN_S_R * YUAN_S_R;
- }
- int main()
- {
- int MAIN_I;
- double MAIN_R_D,MAIN_SUM;
- string MAIN_STR,MAIN_SUM_STR;
- system("color 0a");
- label1:
- cout << "欢迎使用圆的计算器" << endl;
- cout << "请输入半径或直径的值" << endl;
- cin >> MAIN_R_D;
- cout << "你刚才输入半径的值就输入“半径”,输入直径的值就输入“直径”" << endl;
- cin >> MAIN_STR;
- if( MAIN_STR == "直径")
- MAIN_R_D = MAIN_R_D / 2;
- cout << "你要求什么?(周长 或 面积)" << endl;
- cin >> MAIN_SUM_STR;
- if(MAIN_SUM_STR == "周长")
- MAIN_SUM = YUAN_C(MAIN_R_D);
- else if (MAIN_SUM_STR == "面积")
- MAIN_SUM = YUAN_S(MAIN_R_D);
- system("cls");
- cout << "你输入的半径的值是 " << MAIN_R_D << endl;
- cout << "你要求的" << MAIN_SUM_STR << "的值是 " << MAIN_SUM << endl;
- cout << "继续计算请输入 1 ,退出请输入 2"<< endl;
- cin >> MAIN_I;
- if (MAIN_I == 1)
- {
- system("cls");
- goto label1;
- }
- else if (MAIN_I == 2)
- {
- system("pause");
- return 0;
- }
- }
复制代码
对比一下 引用传递和按值传递
按值传递(C\C++)
在主函数 传递 给 函数1时
函数1 会创建一个新的变量
两个变量 值是相同的 地址是不同的
引用传递 (C++)
在主函数 传递 给 函数1时
函数1 不会创建一个新的变量
而是引用 主函数里的变量
两个变量 值是相同的 地址也是相同的
虽然有两个变量名
欢迎大神们多多指导 |
|