การแลกเปลี่ยนสองตัวแปรโดยไม่ใช้ตัวแปร temp
การใช้พอยน์เตอร์
#include การเปลี่ยนแปลงเป็นโมฆะ (int *, int *); int main () {int a = 2, b = 5; printf ("ก่อนหน้า: a =% d, b =% d \ n", a, b); การเปลี่ยนแปลง (& A & B); printf ("หลังจาก: a =% d, b =% d \ n", a, b); กลับ 0 } การเปลี่ยนแปลงเป็นโมฆะ (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; }
ผล
ก่อนหน้า: a = 2, b = 5
หลังจาก: a = 5, b = 2
การใช้ประโยชน์จากแมโคร
#include #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("ก่อนหน้า: a =% d, b =% d \ n", a, b); SWAP (A, B); printf ("หลังจาก: a =% d, b =% d \ n", a, b); กลับ 0 }
ผล
ก่อนหน้า: a = 2, b = 5
หลังจาก: a = 5, b = 2
โปรดทราบว่า:
ชื่อของแมโครหรือตัวแปรอาจถูกเปลี่ยนเพื่อความสะดวกของคุณ