中易网

函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值

答案:1  悬赏:10  
解决时间 2021-01-17 01:49
  • 提问者网友:ミ烙印ゝ
  • 2021-01-16 06:01
函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值
最佳答案
  • 二级知识专家网友:長槍戰八方
  • 2021-01-16 06:12
call by value:
a = 3;
g(a);
m = 5;
m = m*x = 5*a = 15;
x = m-5 = 10;
return x+m = 25;
c = 25;
return a+c = 3+25 = 28 (D)

call by reference:
a = 3;
g(a);
m = 5;
m = m*x = 5*a = 15;
a = x = m-5 = 10;
return x+m = 25;
c = 25;
return a+c = 10+25 = 35 (A)追问m*x = 5*a 是什么意思啊追答因为m=5
x=a (参数)追问我对这里的参数我不是很懂,我们老师没讲过是什么意思,你能说吗,我再给你加10分追答因为g()里面的参数叫x
我们调用的时候是g(a)
就是把g里面的x都变成a

call by value的时候
你把x的值看成和a一样就可以了
但是对x的修改并不影响a

call by reference的时候
x就是a, 对x修改就是对a修改追问这个问题我懂了谢谢,我还有另一个,某数码相机内置128MB的存储空间,拍摄分辨率设定为1600x1200像素,颜色深度为24位,若不采用压缩存储技术,使用内部存储器最多可以拍摄多少张照片?
24Bit=3Byte

1600*1200*3=576000=5.4932M

128/5.4932=23张
但这里的1600*1200*3=576000=5.4932M
不懂,分数我不会亏你的追答24Bit = 3Byte
就是说一个像素要用3个Byte来储存
1600*1200 = 1920000 个像素
所以总共需要 1600*1200*3=5760000个Bytes
其中1024Bytes = 1 KB
1024 KB = 1MB
所以5760000 Bytes = 5625 KB = 5.4931640625 MB
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息