void sort(int *x, int *y, int *z) {
if (x > y) change(x, y); // 比較指標位址而非值
...
}
void change(int *i, int *j) {
int *f = i; i = j; j = f; // 僅交換區域指標,不影響原變數
}
void sort(int *x, int *y, int *z) {
if (*x > *y) change(x, y); // 解引用比較值
if (*y > *z) change(y, z);
if (*x > *y) change(x, y); // 再次確保 x <= y
}
void change(int *i, int *j) {
int tmp = *i; *i = *j; *j = tmp; // 交換所指向的值
}
*x > *y)。*i = *j)。