Temp değişkeni kullanmadan iki değişkeni değiştirmek

İşaretçileri kullanma

 #include void değişikliği (int *, int *); int main () {int a = 2, b = 5; printf ("Önce: a =% d, b =% d \ n", a, b); değişikliği (ve a, b) printf ("Sonra: a =% d, b =% d \ n", a, b); 0 döndür; } boşluk değişimi (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; } 

Sonuçlar

Önce: a = 2, b = 5

Sonra: a = 5, b = 2

Bir Makroyu Kullanmak

 #include #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("Önce: a =% d, b =% d \ n", a, b); Değiştir (a, b); printf ("Sonra: a =% d, b =% d \ n", a, b); 0 döndür; } 

Sonuçlar

Önce: a = 2, b = 5

Sonra: a = 5, b = 2

Bunu not et:

Makronun veya değişkenlerin adı uygunluk durumuna göre değiştirilebilir.

Önceki Makale Sonraki Makale

En Ipuçları