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

为何限制了num范围后还会有范围外的数

之前的程序都对

最后的水仙花数条件句  if(num ==hd*hd*hd+td*td*td+sd*sd*sd) 若把“==”换成“=”运行结果为什么是

水仙花数字:1
水仙花数字:8
水仙花数字:729
水仙花数字:370
水仙花数字:371
水仙花数字:378
水仙花数字:1099

for循环不是已经限制了num范围了吗?为什么还会有其它数

提问者:YaphetSxz 2015-03-02 10:33

个回答

  • 康振宁
    2015-03-02 10:57:54
    已采纳

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

  • qq_随心所欲_2
    2015-05-14 23:24:58

    看不明白计算机怎么算的

  • YaphetSxz
    2015-03-02 12:04:57

    根据你这样提醒我好像明白了,第一次程序从num=100开始时if句计算后的值 1 被赋值给num了,结果num又从1开始递加循环而不是100,之后每次计算出3位数的3次方和都被赋值给num,没有实现 num++ 所以会出现这样结果