今天看到一道腾讯的面试题,有点意思,总结在这里了。
这是一个数组越界的问题,当越过边界,会出现循环,类似于求模运算。
MAX=255,数组A的下标范围为:0..MAX-1,这是其一,
其二 当i循环到255时,循环内执行: A[255]=255;这句本身没有问题,
但是返回for (i=0;i<=MAX;i++)语句时,由于unsigned char的取值范围在(0..255),
i++以后i又为0了..无限循环下去.
注:char类型为一个字节,取值范围是[-128,127],unsigned char [0 ,255]
*/
/********************************************************************/
类似的~
注意到这个数组越界问题,在一定程度上可以避免,不过在编码是要有足够的意识。