[問題] 傳址、傳值呼叫
做題目遇到傳址、傳值呼叫,只要題目難一點就會一直卡住。
請問下面兩題如何計算?
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
→
04/15 23:16, , 1F
04/15 23:16, 1F
→
04/16 23:40, , 2F
04/16 23:40, 2F
→
04/18 15:20, , 3F
04/18 15:20, 3F
→
04/18 15:27, , 4F
04/18 15:27, 4F
→
04/19 18:44, , 5F
04/19 18:44, 5F
推
04/21 21:11, , 6F
04/21 21:11, 6F
→
04/21 21:12, , 7F
04/21 21:12, 7F
→
04/24 03:03, , 8F
04/24 03:03, 8F