For each of the following C assignment statements
a) x = a + b*c;
b) x = a/(b+c) - d*(e+f);
c) x = a[i] + 1;
d) a[i] = b[c[i]];
e) a[i][j] = b[i][k] + c[k][j];
f) *p++ = *q++;
generate three-address code, assuming that all array elements are integers taking four bytes each.
In parts (d) and (e), assume that a, b, and c are constants giving the location of the first (0th) elements of the arrays with those names.