作者turnoff11 (运动伤害)
看板Programming
标题[请益] call by value, call ref, call by name
时间Tue Mar 16 18:27:56 2010
有一题问call by value, call by ref, call by name的值
我试写了,想问高手我的答案是正确的吗?
function confuse(x,y,z)
{
x=x+2;
z=z+y;
printf(x,y,z);
}
main()
{
x=1;
y=2;
z=3;
confuse(x,x+y,z);
printf(x,y,z);
}
call by value,我的答案是(3,3,6)
(1,2,3)
call by ref, 我的答案是(3,3,6)
(3,3,6)
call by name,我的答案是(3,3,6)
(3,3,6)
不知道对不对?
另外题目有问到这个程式语言的scope?这什麽意思?
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.30.170.207
1F:推 Huangs:什麽是call by name啊? @@ 59.115.141.108 03/16 21:13
2F:推 nedbob:我猜是macro? 140.135.11.175 03/16 21:36
3F:推 yauhh:注意看主程式的call,call by ref不会改到y值 61.231.71.128 03/16 22:09
4F:→ yauhh:Wikipedia Evaluation_strategy 61.231.71.128 03/16 22:11
※ 编辑: turnoff11 来自: 163.30.170.179 (03/17 08:18)
5F:推 lingpxs:我记得只有分value, ref, address吧 114.33.233.10 03/19 01:30
6F:→ lingpxs:依序是复制值,传指标给*,传位址给& 114.33.233.10 03/19 01:31
7F:→ yauhh:C的执行方式的确只有那些,但并不是一讨论 61.231.68.7 03/20 06:31
8F:→ yauhh:语言处理都只谈C的情况. 61.231.68.7 03/20 06:31