int j=3; j = pow(j++,2);为什么是9,新手求解释
- C/C++ code
#include<iostream>#include<math.h>using namespace std;int main(){ int i=3; int j=3; i = pow(++i,2); j = pow(j++,2); cout<<i<<endl; cout<<j<<endl; return 0;}
为什么j会是9,麻烦解释详细点,有点转不过弯来
[解决办法]
++i表示先把i加1再使用,i++表示先使用i后再加1
[解决办法]
没有意义的代码
pow(j,2) j++ j=pow(j,2)
[解决办法]
pow(3,2) j++(j=4) j=pow(3,2)=9
[解决办法]
j++是先赋值后执行加1,所以j的值是3的平方~~
[解决办法]
这个很容易,就是j先赋值为3,再进行平方,为9,再自加。
[解决办法]
i++,先赋值后加1,++i,先加1后赋值
例如 i=2
j=++i j=3
j=i++ j=2
[解决办法]
[解决办法]
大家这是肿么了,都问这个?
[解决办法]
[解决办法]
更正 上面的说错了
应该是 先是4 后来变成9
[解决办法]
先pow(3,2)=9,j再加1 j=4,再将j=pow(3,2);
[解决办法]
这么给你说吧。还有就是没必要花太多时间在这个上面
这是我改过的程序:
这是运行结果:
由此说明。pow(3,2)=9,然后j加1变成了4