In C, yes. But the assembly for

    int t = a[i];
    a[i] = a[j];
    a[j] = t;

and

    int ti = a[i];
    int tj = a[j];
    a[i] = tj;
    a[j] = ti;

is identical (`gcc -O2 -S`).

The only thing I still need to try is putting an `if (i != j)` around this, but that's for later.