c++:奇特的参数传递

本题要求实现一个函数area,传入半径参数后计算圆的面积,并将半径参数的值修改为原值的10倍。(圆周率为3.14)

裁判测试程序样例:

//在这里给出函数被调用进行测试的例子。例如:
#include <iostream>
using namespace std;


/****请在这里填写答案********/

int main(){
    double r = 0;
    cin>>r;
    cout<< area(r)<<endl;        //输出半径为r的圆面积,并且r值变为原值的10倍 
    cout<< area(r)<<endl;        //再次输出半径为r的圆面积,此时面积值应为上次的100倍
        return 0;
}

输入样例:

在这里给出一组输入。例如:

1

输出样例:

在这里给出相应的输出,例如:

3.14
314

运行代码如下: 

double area(double &r){
  const float PI=3.14;//定义一个const常变量,使其值不能发生改变
  double areaResult=PI*r*r;
  r*=10;
  return areaResult;
}

注意:我们这里的 r*=10 是不可以写在 return  areaResult 之后,因为函数在执行 return  areaResult;这个语句时是不会再执行后面的语句了。

总结:

在函数定义中,double area(double &r)中的&r是一个引用参数。使用引用参数可以在函数内部修改传过来的变量的值。


在这个程序中,area 函数计算半径为 r 的圆的面积,并通过乘以10来修改 r 的值。如果不使用引用参数,那么 r 的值将不会改变,因为函数内部对 r 的任何修改不会影响到函数外部的变量。使用引用参数可以确保在函数返回后 r 的值会被修改。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值