Bu program kullanıcıdan üç tamsayı alır ve işaretçileri kullanarak bunları çevrimsel olarak değiştirir.
Kullanıcı tarafından girilen üç değişken, sırasıyla a, b ve c değişkenlerinde saklanır.
Ardından, bu değişkenler cyclicSwap () işlevine aktarılır. Gerçek değişkenleri geçmek yerine, bu değişkenlerin adresleri iletilir.
Bu değişkenler, cyclicSwap () işlevinde döngüsel sırada değiştirildiğinde, ana işlevdeki a, b ve c değişkenleri de otomatik olarak değiştirilir.
#include<stdio.h>
void cyclicSwap(int *a,int *b,int *c);
int main()
{
int a, b, c;
printf("Sırasıyla a, b ve c için değer girin: ");
scanf("%d %d %d",&a,&b,&c);
printf("Değişimden önceki değer:\n");
printf("a = %d \nb = %d \nc = %d\n",a,b,c);
cyclicSwap(&a, &b, &c);
printf("Değişimden sonraki değer:\n");
printf("a = %d \nb = %d \nc = %d",a, b, c);
return 0;
}
void cyclicSwap(int *a,int *b,int *c)
{
int temp;
temp = *b;
*b = *a;
*a = *c;
*c = temp;
}
Çıktısı :
Sırasıyla a, b ve c için değer girin: 1
2
3
Değişimden önceki değer:
a = 1
b = 2
c = 3
Değişimden sonraki değer:
a = 3
b = 1
c = 2
CyclicSwap () işlevinden hiçbir değer döndürmediğimize dikkat edin.