问答详情
源自:4-9 循环结构之for循环(二)

=与==的区别

为什么 if后面写成num=hd*hd*hd+td*td*td+sd*sd*sd  (一个等号)结果是水仙花数字:1 水仙花数字:8 水仙花数字:729 水仙花数字:370 水仙花数字:371 水仙花数字:378 水仙花数字:1099 而写成num==hd*hd*hd+td*td*td+sd*sd*sd  (两个等号) 结果就变成      水仙花数字:153 水仙花数字:370 水仙花数字:371 水仙花数字:407        )

提问者:dodolao 2015-03-05 09:13

个回答

  • linkin55
    2015-04-07 19:00:00

    =是赋值,==是判断条件

  • Puppet_Master
    2015-03-05 09:45:54

    首先,1个= 是赋值符号,“变量 = **”,变量赋值为**

          2个= 是等于符号,if条件里的“变量 == **”,是看变量和**是否相等;

    然后,http://img.mukewang.com/54f7b302000171f209160447.jpg

    for循环原意是从100开始向上自加1,到1000;

    而if(num=****)里,num赋值为****了,改变了循环条件。如:for循环第一次循环,num等于100,num小于100成立,经过if后,num赋值为1*1*1+0*0*0+0*0*0了,即此时num等于1,第一次循环结束;然后num自加1,等于2,进入for循环第二次循环,此时num等于2,不是原意的101了

  • 康振宁
    2015-03-05 09:18:06

    如果你把==换成=号的话,那么在循环到378时,这时的num=378下一次循环为379,379分别拆开3次方之后相加就是1099也就是本次循环之后就跳出循环了