变式 4:用二级指针写交换函数
把母题里的三句交换抽成函数 swap_str。可现在排完顺序没变:swap_str 换的只是自己的两个形参。
回想第 2 关的 swap(int *a, int *b):想改调用者的 int,就传 int 的地址;现在想改调用者的 char *,就要传 char * 的地址,也就是 char **。
改 swap_str 和调用它的那一句。例如输入:
3
lucy amy tom
输出:
amy
lucy
tom
把母题里的三句交换抽成函数 swap_str。可现在排完顺序没变:swap_str 换的只是自己的两个形参。
回想第 2 关的 swap(int *a, int *b):想改调用者的 int,就传 int 的地址;现在想改调用者的 char *,就要传 char * 的地址,也就是 char **。
改 swap_str 和调用它的那一句。例如输入:
3
lucy amy tom
输出:
amy
lucy
tom