在while循环中while循环有不同的结果吗?
问题描述:
我遇到了sololearn这个问题..为什么答案是36而不是6?在while循环中while循环有不同的结果吗?
var x = 326;
var prod = 1;
while (x>0) {
prod *= x%10;
x = (x-x%10)/10;
}
console.log(prod);
答
此线取x
变量的最后一位,并将其乘到prod
:
prod *= x % 10;
此行删除的x
最后一位:
x = (x - x % 10)/10;
第一循环:
- 最后位= 6
-
prod
因此等于6 -
x
等于32
第二循环:
- 最后位数= 2
-
prod
因此等于6 * 2 = 12 -
x
等于3
第三循环:
- 最后位数= 3
-
prod
因此等于12×3 = 36 -
x
等于0
let x = 326;
let prod = 1;
while (x > 0) {
prod *= x % 10;
console.log({prod});
x = (x - x % 10)/10;
console.log({x});
}
console.log(prod);
为什么不调试它,在循环中添加一些日志,找出它并告诉我们? – adeneo
console.log()是你的朋友.... – epascarello
不,模数如果放置在while循环中没有不同的结果。 –