C Chương trình hoán đổi số theo thứ tự tuần hoàn bằng cách gọi theo tham chiếu

Trong ví dụ này, ba số do người dùng nhập được hoán đổi theo thứ tự tuần hoàn bằng cách gọi tham chiếu.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C sau:

  • Con trỏ C
  • C Pass Địa chỉ và Con trỏ

Chương trình hoán đổi các phần tử bằng cách gọi bằng tham chiếu

#include void cyclicSwap(int *a, int *b, int *c); int main() ( int a, b, c; printf("Enter a, b and c respectively: "); scanf("%d %d %d", &a, &b, &c); printf("Value before swapping:"); printf("a = %d b = %d c = %d", a, b, c); cyclicSwap(&a, &b, &c); printf("Value after swapping:"); printf("a = %d b = %d c = %d", a, b, c); return 0; ) void cyclicSwap(int *n1, int *n2, int *n3) ( int temp; // swapping in cyclic order temp = *n2; *n2 = *n1; *n1 = *n3; *n3 = temp; ) 

Đầu ra

Nhập lần lượt a, b và c: 1 2 3 Giá trị trước khi đổi chỗ: a = 1 b = 2 c = 3 Giá trị sau khi đổi chỗ: a = 3 b = 1 c = 2 

Tại đây, ba số do người dùng nhập lần lượt được lưu trong các biến a, b và c. Địa chỉ của các số này được chuyển đến cyclicSwap()hàm.

cyclicSwap(&a, &b, &c); 

Trong định nghĩa hàm của cyclicSwap(), chúng tôi đã gán các địa chỉ này cho các con trỏ.

cyclicSwap(int *n1, int *n2, int *n3) (… ) 

Khi n1, n2 và n3 bên trong cyclicSwap()bị thay đổi, các giá trị của a, b và c bên trong main()cũng bị thay đổi.

Lưu ý: Các cyclicSwap()chức năng không trả bất cứ điều gì.

thú vị bài viết...