作者minimatsumi (sugar)
看板TransCSI
标题[问题] 传址、传值呼叫
时间Thu Apr 14 19:20:00 2011
做题目遇到传址、传值呼叫,只要题目难一点就会一直卡住。
请问下面两题如何计算?
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值?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.120.43.32
1F:→ tcis:教师甄试考题?! 04/15 23:16
2F:→ minimatsumi:是的! 04/16 23:40
3F:→ bibo9901:没有"传址"这种东西. 那也是一种传值, 不过传的是位址 04/18 15:20
4F:→ stator:第一题是去年全国,第二题是去年桃园国中的题目 04/18 15:27
5F:→ minimatsumi:不能简称传址吗?我知道他传的是位置... 04/19 18:44
6F:推 EEspresso:第二题是3 这种问题建议丢给compiler逐步执行 04/21 21:11
7F:→ EEspresso:多RUN过几次就知道怎麽跑的 04/21 21:12
8F:→ destiny1015:call by address简称传址...应该没错吧? 04/24 03:03