日期:2014-05-18  浏览次数:20819 次

取余问题
float a[]={1,2,3,4,5}
for(inti=1;i<=5; i++ )
{
  if(i%2==0) \\ 第一这是取余  1%2会不会等于0.5;  

  continue; \\继续循环下一个
if(i%3==0)
break;    \\跳出循环后不再执行,就是当3%3就等于零的时候以后,就不再运行下一个?
console.writeline(i);
}
会得出什么结果
是不是等于1?

------解决方案--------------------
首先 float a[]={1,2,3,4,5} 这么写好像语法上讲不通
应为float[] a={1,2,3,4,5};
按你写的意思的话,执行出来应该为1
1进入以后,不符合if(i%2==0)的条件,所以不执行continue语句, 也不符合if(i%3==0) 不执行break语句,执行console.writeline(i); 

2进入以后,符合if(i%2==0)的条件,所以执行continue语句,跳出循环,不执行console.writeline(i); 

3进入以后 不符合if(i%2==0)的条件,所以不执行continue语句, 符合if(i%3==0),执行break语句,中止循环。

要注意continue 和 break的区别,一个是跳出本次循环继续执行,一个是中止所有的循环。


------解决方案--------------------
for(inti=1;i <=5; i++ ) 

if(i%2==0) \\ 第一这是取余  1%2会不会等于0.5;

continue; \\继续循环下一个 
if(i%3==0) 
break;    \\跳出循环后不再执行,就是当3%3就等于零的时候以后,就不再运行下一个? 
console.writeline(i); 
}

结果:
1