Module: Chương trình con: thủ tục và hàm - 1


Problem

11/11

Thay đổi đối số

Theory Click to read/hide

Nhiệm vụ
Viết thủ tục hoán đổi giá trị của hai biến.

Điểm đặc biệt của nhiệm vụ này là chúng ta cần những thay đổi được thực hiện trong quy trình để chương trình gọi được biết đến.

Hãy thử viết thủ tục như thế này: static void Swap (int a, int b) // với mô tả các tham số thủ tục như vậy, { // sẽ sao chép giá trị của các đối số (x và y) int c; // biến a và b là biến độc lập không liên quan đến x và y c = a; a = b; b=c; } khoảng trống tĩnh Main() { int x=1, y=2; Hoán đổi (x, y); // giá trị của biến x và y (đối số) được sao chép vào tham số a và b, x = 1, y = 2 } Nếu bạn chạy chương trình này, bạn có thể thấy rằng giá trị của các biến x và y không thay đổi. Để các tham số thay đổi giá trị của các đối số, bạn phải sử dụng dữ liệu truyền qua tham chiếu. Để làm điều này, trước tên của loại dữ liệu trong tiêu đề của chương trình con, bạn phải viết ref . void Swap ( ref int a, ref int b ) // lúc này biến a và b lấy địa chỉ của biến x và y trong bộ nhớ { int c; c = a; a = b; b=c; } khoảng trống tĩnh Main() {   int x=1, y=2;   Hoán đổi (tham khảo x, tham khảo y); Ứng dụng: nếu bạn truyền một đối số bằng tham chiếu, thì chỉ tên của biến (KHÔNG phải là số và KHÔNG phải là biểu thức số học) có thể đứng ở vị trí này khi gọi thủ tục.

Bạn không thể gọi một thủ tục như thế này: Hoán đổi(x, 4); Hoán đổi(5+x, y);

Problem

Viết thủ tục hoán đổi giá trị của hai biến. Tìm và sửa lỗi sai trong thủ tục này.
 
Ví dụ
<đầu>
# Đầu vào Đầu ra
1 1
2
2
1
1
using System;      
2
class Program      
3
{       
4
5
    {      
6
        int c;      
7
        c = a; a = b; b = c;      
8
    }      
9


                                                   
10
    static void Main()      
11
    {      
12
        int x = Convert.ToInt32(Console.ReadLine());      
13
        int y = Convert.ToInt32(Console.ReadLine());      
14
15
        Console.WriteLine(x);      
16
        Console.WriteLine(y);      
17
    }      
18
}      
19


                                                   
20


                                                   

     

Program check result

To check the solution of the problem, you need to register or log in!