+ 1
Help me figure this out. Thanks
var I, j; var c = 0; for (i =1; i <= 3; i++) { for (j = 1; j <= 2; j ++) { c += j; } } alert (c);
2 Answers
+ 7
So the outer for loop starts with the value "i = 1" and then moves to the code inside it.
The inner one starts at the value "j = 1" and then when c += j is run c has the value of 1 (c+= j means c = c + j which is c = 0 + 1 which is 1).
j is then incremented and the inner for loop runs again so j = 2 and then c += j makes c = 3.
After that j is more than 2 so the inner for loop is broken out of and the outer one starts again, now "i = 2" and the then inner one loops again so for "j = 1", c = c + j (c = 3 + 1), which is 4 and for "j = 2", c = 2 + 4, so c = 6 and now "j = 3" again which is more than 2, the inner loop is broken out of and the outer one is run over again with the value "i = 3".
Moving into the inner loop again "j = 1" so c += j makes "c = 7" and then "j = 2" so c is now 9.
Once again j is more than 2 so the inner loop is broken out of and now i is more than 3 so the outer loop is broken out of as well and move on the next statement the value of "c" is alert (9)
0
the outer loop will go 3 times and inside each the inner loop will go twice. so you add 1 and 2 3 times which is 3*3 =9