C Program Tukar Nombor dalam Susunan Siklik Menggunakan Panggilan Melalui Rujukan

Dalam contoh ini, tiga nombor yang dimasukkan oleh pengguna ditukar mengikut urutan kitaran menggunakan panggilan dengan rujukan.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan C berikut:

  • Penunjuk C
  • Alamat dan Petunjuk C Pass

Program untuk Menukar Elemen Menggunakan Panggilan Melalui Rujukan

#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; ) 

Pengeluaran

Masukkan a, b dan c masing-masing: 1 2 3 Nilai sebelum bertukar: a = 1 b = 2 c = 3 Nilai setelah bertukar: a = 3 b = 1 c = 2 

Di sini, tiga nombor yang dimasukkan oleh pengguna disimpan dalam pemboleh ubah a, b dan c masing-masing. Alamat nombor ini diteruskan ke cyclicSwap()fungsi.

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

Dalam definisi fungsi cyclicSwap(), kami telah memberikan alamat ini kepada petunjuk.

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

Apabila n1, n2 dan n3 di dalamnya cyclicSwap()diubah, nilai a, b dan c di dalamnya main()juga berubah.

Nota: The cyclicSwap()fungsi tidak kembali apa-apa.

Artikel menarik...