将两个数 $a=1, b=2$ 交换, 使 $a=2, b=1$, 下列语句正确的是 ( )
因为两个量进行数据交换，必须借助第三个量传递储存,

所以选项 A, B 错误;

对于 $\mathrm{C}$, 第一步因为 $c$ 中无数据, $a \leftarrow c$ 错误,

对于 $\mathrm{D}, b$ 中数据传递给 $c, a$ 中数据传递给 $b$, 再把 $c$ 中数据传递给 $a$, 实现了 $a, b$ 中的数据交换,

故选 D.