问题是输出1—100之间的奇数之和。
下面这个是正确代码
var sum=0;         //sum是奇数和
for(a=1;a<=100;a++){
     if(a%2!=0){
         sum=sum+a;
   }
}
document.write("奇数之和:"+sum);
输出的正确的奇数之和是2500.如果把var sum=0放到for循环中,变成下面这个样子
for(a=1;a<=100;a++){
     var sum=0;
     if(a%2!=0){
         sum=sum+a;
   }
}
document.write("奇数之和:"+sum);
输出的奇数之和为什么是0,而不是最后一个奇数99?

解决方案 »

  1.   

    var sum=0;这句放到for循环外。
      

  2.   

    var sum=0; 分号写成中文了
    再就是要放外面  放里面作用于是for循环 出来 就释放了
      

  3.   

    因为循环到100到sum会重新赋值为0啊
      

  4.   

    因为循环最大值是100,当循环到100时。sum会重新赋值为0
    sum=0;放if里就是99了
    for(a=1;a<=100;a++){
         if(a%2!=0){
            sum=0;
            sum=sum+a;
       }
    }
      

  5.   

    最后一个循环是a=100,sum=0,sum=sum+0
      

  6.   

    你把var sum = 0 放在for循环中  每循环一次 都会执行一次 var sum = 0