Whats the differance in these programs?

Program A: t := a[i]; a[i] := a[j]; a[j] := t; t := 0;
Program B: a[i] := a[i]-a[j]; a[j] := a[i]+a[j]; a[i] := a[j]-a[i]; t := 0;