[问题] 传址、传值呼叫

楼主: minimatsumi (sugar)   2011-04-14 19:20:00
做题目遇到传址、传值呼叫,只要题目难一点就会一直卡住。
请问下面两题如何计算?
1.VB
Private Sub Form_Activate( )
DIM X as Integer
X=3
Call F1(X)
Debug.Print(X)
End Sub
Sub F1( ByRef X As Integer )
Call T2( X=X+X , X , X )
End Sub
Sub T2(ByRef A As Integer ,ByVal B As Integer , ByRef C As Integer )
A = A + 1 : B = B + 2 : C = A + B * C
End Sub.
请问最后印出?
2.C/C++
int f1(int y){y=y+1; return y;}
int f2(int &y){y=y+1; return y;}
int f3(int *y){*y=*y+1; return *y;}
void main(){
int a,b,c,d,x=1;
a=f1(x);
b=f2(x);
c=f3(&x);
d=x++;
}
请问d值?
作者: tcis (像山一样思考)   2011-04-15 23:16:00
教师甄试考题?!
楼主: minimatsumi (sugar)   2011-04-16 23:40:00
是的!
作者: bibo9901 (function(){})()   2011-04-18 15:20:00
没有"传址"这种东西. 那也是一种传值, 不过传的是位址
作者: stator (别急着吃棉花糖)   2011-04-18 15:27:00
第一题是去年全国,第二题是去年桃园国中的题目
楼主: minimatsumi (sugar)   2011-04-19 18:44:00
不能简称传址吗?我知道他传的是位置...
作者: EEspresso (我要吃!!!)   2011-04-21 21:11:00
第二题是3 这种问题建议丢给compiler逐步执行多RUN过几次就知道怎么跑的
作者: destiny1015   2011-04-24 03:03:00
call by address简称传址...应该没错吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com