循环变量的控制,一定要主要限制条件和变量的变化范围!!!
for(unsigned char i = 0; i<256; ++i)
{
//做一些处理;
}
这边的错误就是:是个死循环。因为i的最大值是255。这边的话,可能容易发现。但是,我们被教导:像256这种东西,我们要定义成宏或者常量。如果定义了宏,那么这个错误就不是那么容易看出来了。
这边的错误就是:是个死循环。因为i的最大值是255。这边的话,可能容易发现。但是,我们被教导:像256这种东西,我们要定义成宏或者常量。如果定义了宏,那么这个错误就不是那么容易看出来了。
解决办法的话,第一当然是要细心。
另外的话,我还建议循环变量尽量用大范围的,比如int,long等。当初我用unsigned char的话,是想着节约空间。有这种意识是不错的,但是,这边似乎没这个必要。这边最多节约了3个字节,也没有起多大的好处。另外的话,这个循环变量一般是在函数中定义的,所以很快就会释放的。考虑合适的变量类型的可以在数组或者类的成员变量中考虑,这些地方的空间才是大量的。
附注:unsigned类型的数据不要以0作为限制条件,它永远大于0,没有任何意义!!