为了账号安全,请及时绑定邮箱和手机立即绑定

不明白为什么得出这样的结果~~求指点

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>if...else</title>

<script type="text/JavaScript">

var mymoney,sum=0;//mymoney变量存放不同面值,sum总计

for(mymoney=1;sum<=10;mymoney++)

  sum= sum + mymoney;

}

  document.write("sum合计:"+sum);

</script>

</head>

<body>

</body>

</html>

页面显示:

sum合计:15

求指点 15是如何计算出来的

正在回答

9 回答

因为你的for循环中写的是sum<=10,当mymoney=5时,sum=1+2+3+4+5=15>10,循环终止就输出了。要是把sum<=10改为mymoney<=10就好了。

0 回复 有任何疑惑可以回复我~
#1

IT李小贱

这位解释得比较直白些
2016-07-12 回复 有任何疑惑可以回复我~
#2

汪汪123

通熟易懂
2016-07-12 回复 有任何疑惑可以回复我~
#3

竹子glglgl 提问者

非常感谢!
2016-07-12 回复 有任何疑惑可以回复我~

为啥我的结果是55

0 回复 有任何疑惑可以回复我~

因为你的for循环中写的是sum<=10,当mymoney=5时,sum=1+2+3+4+5=15>10,循环终止就输出了。要是把sum<=10改为mymoney<=10就好了。

0 回复 有任何疑惑可以回复我~

楼上回答的很对.

循环了五次,每次mymoney会加1,而sum会合并sum和mymoney

到sum累计加到15的时候 就触发了for条件,于是输出了当前sum的值.


1 回复 有任何疑惑可以回复我~

for(mymoney=1;sum<=10;mymoney++) 当您的sum>10时,循环终止

0 回复 有任何疑惑可以回复我~

for(mymoney=1;sum<=10;mymoney++)   for(mymoney=1;mymoney<=10;mymoney++)

0 回复 有任何疑惑可以回复我~

因为已经规定了循环计算sum是在sum<=10的情况下进行的,当mymoney累加到5的时候,sum的值刚好累加到10,只能执行最后一次循环,所以结果就是15咯

0 回复 有任何疑惑可以回复我~

看错了,主要是根据for循环的判断条件, mymoney是每次+1,当mymoney为4时,此时的sum为10,正好为for循环的临界条件,可以再循环一次,此时mymoney再次+1为5,所以sum=sum+mymoney的值为15

0 回复 有任何疑惑可以回复我~

答案不是15吧,是55吧

0 回复 有任何疑惑可以回复我~
#1

小小单身

他for中写的是sum<=10
2016-08-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不明白为什么得出这样的结果~~求指点

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信