需要几根栏杆
大家都看到过使用普通栏杆做为简易隔离带的情景,例如银行里用来隔离两个窗口而设置的。现在的问题就是如果每隔1米需要一个栏杆,那么20米的隔离区域需要多少根栏杆?
出界规范做为嵌入式程序员几乎每天都会使用这样的语句:
For(i=0;i<=N;i++)
…
这里,我们肯定会计算这个循环执行了多少次?那么如何计算?(N-0?)异或(N-0+1)?;上面的问题,答案不知大家有木有想出来,需要21个栏杆,起始与终止均需要一个,这里不过多的进行解释。而我们下面这个循环了多少次也需要这样加+1.可是这个+1,有时就会被程序员忽略,如果此程序是应用于医疗或者航天领域,那么后果将是极其严重的。因此,这里建议使用统一的出界判断,即将上述循环写成:
For(i=0;i<N+1;i++)
…
这样,就不需要再费任何脑筋来考虑是否+1的问题了,循环次数直接通过N+1-0来直接做出判断。而且这样自己的程序也在最大程度上避免了出错的机会。这个规范写给自己,也希望大家多加考虑!
祝大家春节快乐!