1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

truyền đối số trong vb

Thảo luận trong 'Visual Basic' bắt đầu bởi Ngọc Bình, 18 Tháng ba 2011.

  1. Ngọc Bình New Member

    Số bài viết: 61
    Đã được thích: 0
    Điểm thành tích: 0
    ĐÁP ÁN

    Câu hỏi: Giả sử thủ tục tt được gọi thực thi. Hãy chạy từng bước và cho kết quả 2 thủ tục trên.
    Sub p(a As Integer, b As Integer)
    a = a + b
    b = a + b
    End Sub
    Sub tt()
    Dim a As Integer
    Dim b As Integer
    a = 3
    b = 4
    Call p(a, a)
    MsgBox "a= " & a & vbCrLf & "b= " & b
    Call p(b, a - b)
    MsgBox "a= " & a & vbCrLf & "b= " & b
    End Sub

    Giải: Ban đầu: a = 3, b = 4.
    - call p(a,a) : tham số hình thức a, b ở trong thủ tục p() đều tham chiếu đến biến a ở thủ tục tt().
    o a = a + b = 3 + 3 = 6 (vì a trong thủ tục p() tham chiếu đến a ở thủ tục tt() nên sau lệnh này a ở thủ tục tt() cũng thay đổi theo, tức a ở ở thủ tục tt() sau phép gán này bằng 6)
    o b = b + a = 6 + 6 = 12 (b trong thủ tục p() tham chiếu đến a ở thủ tục tt(), a ở thủ tục tt() bằng 6, do đã thay đổi bởi phép gán ở trên nên  b ở vế phải bằng 6. Vì b cũng tham chiếu đến a ở thủ tục tt() nên sau phép gán này a ở thủ tục tt() bằng 12) .
    Kết quả ở thủ tục tt()
    a =12
    b = 4 (vì không có biến nào trong thủ tuc p() tham chiếu đến b ở thủ tục tt()).

    - call p(b, a – b): tham số hình thức a ở tục p() tham chiếu đến biến b ở thủ tục tt(); tham số hình thức b ở thủ tục p() tham chiếu đến biến chứa giá trị (a – b), đây là một biến c nào đó. Chú ý: Sau lệnh gọi call(a,a) thì giá trị a, b ở thủ tục tt() là a = 12, b = 4.
    o a = a + b = 12
    o b = a + b = 12 + 8 = 20
    Kết quả ở thủ tục tt()
    a =12 (vì không có biến nào trong thủ tuc p() tham chiếu đến a ở thủ tục t()).
    b =12.

Chia sẻ trang này