void swap(int *, int *); prototipinde bir fonksiyon yazılcak fonksiyonun hiçinde kesinlikle bir değişken tanımlamadan a ve b değikenlerinin yerlerini bellekte swap edicek.
Örnek program Çıktısı. ------------------------------------------------ iki adet sayi gir : 5 4 1. sayi = 5 ... 2. sayi = 4 swap sonrasi 1. sayi = 4... 2. sayi = 5 ------------------------------------------------
void swap (int a,int b) { int gecici = 2;/*örnek yani başka sayı da olur.Sadece "0" ı sakıncalı görüyürum*/
a = gecici; gecici = b; b= a; } kodu derlemedim ama isterseniz bunu değişkenlerin adersleriyle de yapabilirsiniz. void swap (int *a,int *b) { int *gecici; *a = *gecici; *gecici = *b; *b = *a; }
umarım bunlar yardımcı olur .Akşam bi daha bakarım
soruda "gecici" gibi herhangi bir lokal değişken tanımlanmayacak sadece parametre ile gelen değişkenleri kullanma hakkımız var yukarıda arakdaşların verdiği çözümler sonucu veriyor
int a = 0,b = 0;
int main(void)
{
printf("iki adet sayi gir : \n\r");
scanf("%d%d",&a,&b);
printf("1. sayi = %d... 2. sayi = %d",a,b);
swap(&a,&b); //bu fonksiyon kodlancak
printf("swap sonrasi 1. sayi = %d... 2. sayi = %d",a,b);
system("pause");
return 0;
}
void swap(int *, int *); prototipinde bir fonksiyon yazılcak fonksiyonun hiçinde kesinlikle bir değişken tanımlamadan a ve b değikenlerinin yerlerini bellekte swap edicek.
Örnek program Çıktısı.
------------------------------------------------
iki adet sayi gir :
5 4
1. sayi = 5 ... 2. sayi = 4
swap sonrasi 1. sayi = 4... 2. sayi = 5
------------------------------------------------
Kolay Gelsin...