C Program Tukar Nomor dalam Urutan Siklik Menggunakan Panggilan dengan Referensi

Dalam contoh ini, tiga nomor yang dimasukkan oleh pengguna ditukar dalam urutan siklik menggunakan panggilan dengan referensi.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C berikut ini:

  • C Pointer
  • C Pass Addresses dan Pointer

Program untuk Menukar Elemen Menggunakan Panggil dengan Referensi

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

Keluaran

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

Di sini, tiga angka yang dimasukkan oleh pengguna disimpan dalam variabel a, b dan c masing-masing. Alamat dari nomor ini diteruskan ke cyclicSwap()fungsi.

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

Dalam definisi fungsi cyclicSwap(), kami telah menetapkan alamat ini ke pointer.

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

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

Catatan: The cyclicSwap()Fungsi tidak mengembalikan apa-apa.

Artikel yang menarik...