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


Problem

12/12

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 tác 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: void Swap ( int a, int b ) // với mô tả các tham số thủ tục như vậy, { // giá trị của các đối số (x và y) sẽ được sao chép, 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; } chủ yếu() { 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 cout << "x=" << x<< ", y=" << y; // 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 xy không thay đổi. Để các tham số thay đổi giá trị của đối số, bạn phải sử dụng truyền dữ liệu theo tham chiếu. Để làm điều này, sau tên của loại dữ liệu trong tiêu đề của chương trình con, bạn phải đặt dấu & ("ampersand"). hoán đổi vô hiệu ( int & a, int & b ) // bây giờ 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; } Cách sử dụng: Nếu bạn truyền đối số bằng tham chiếu, thì chỉ có tên biến (KHÔNG phải số và KHÔNG phải biểu thức số học) có thể ở vị trí này khi gọi thủ tục!< br />
KHÔNG gọi 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. Cố gắng viết nó mà không sử dụng một biến bổ sung. Sửa lỗi nếu có.