我的方程是 x = y+z;
我已经看到,在解决 x = y+zx,y,z 是变量的问题时,这些变量通常会转换为三个地址代码,如下所示:t1 = y+z; x = t1;
我的疑问是当 x = y+z 本身是一个三地址代码时,因此我们为什么使用临时变量。
例如转换
for(int i=1; i<10; i++) x = y+z;
3 地址码:
i = 1
l1: if(i>=10) goto l2
t1 = y+z;
x = t1;
goto l1;
l2:
为什么我们不能写 x = y+z 而不是 t1 = y+z 和 x = t1;