读书人

int j=三; j = pow(j++,2);为什么是9

发布时间: 2012-11-11 10:07:57 作者: rapoo

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
[解决办法]
探讨

还是有点不懂,j平方了得9,那么后来不是还有自加一次得10吗

[解决办法]
大家这是肿么了,都问这个?
[解决办法]
探讨

还是有点不懂,j平方了得9,那么后来不是还有自加一次得10吗

[解决办法]
更正 上面的说错了
应该是 先是4 后来变成9
[解决办法]
先pow(3,2)=9,j再加1 j=4,再将j=pow(3,2);
[解决办法]
这么给你说吧。还有就是没必要花太多时间在这个上面
这是我改过的程序:

这是运行结果:

由此说明。pow(3,2)=9,然后j加1变成了4

读书人网 >C语言

热点推荐