#include <stdio.h> #define SWAP(a, b) tmp = a; a = b ; b = tmp int main(){ int a = 10; int b = 20; int tmp = 0; int n = 6; if(n>6) SWAP(a,b); printf("%d %d %d\n", tmp, a, b); } 自己覺得if應該不會執行(因為沒有縮排) 然後只執行SWAP那行 所以是 10 20 10 但是在vscode上編譯出來的結果是 0 20 0 我不太懂為什麼會這樣 麻煩大神開示 謝謝