int j = ++i;//把i自增1,然后结果赋值给j,或者说,先算++i,然后再赋值
int k = i++;//先算赋值,把i的值赋值给k,i原来是3,把3赋值给k,然后i在自增1,i变成4
所以:
i=++i;相当于以下二个语句(编译时出现警告,与i=i;警告相同):
i=i+1;
i=i;
i = i++;相当于以下三个语句:
int tmp = i;
i = i + 1;
i = tmp;
int j = ++i;//把i自增1,然后结果赋值给j,或者说,先算++i,然后再赋值
int k = i++;//先算赋值,把i的值赋值给k,i原来是3,把3赋值给k,然后i在自增1,i变成4
所以:
i=++i;相当于以下二个语句(编译时出现警告,与i=i;警告相同):
i=i+1;
i=i;
i = i++;相当于以下三个语句:
int tmp = i;
i = i + 1;
i = tmp;