1#include
2 #define MAX 255
3
4 int main(void)
5 {
6 unsigned char A[MAX],i;
7 for(i = 0;i <= MAX; i++)
8 {
9 A[i] = i;
10 printf("%c\n",A[i]);
11 }
12 return 0;
13 }
14
当然这个程序的错误不止是有一个错误,也许你会注意到数组越界,C和C++不进行数组越界检查。这个程序还有一个致命的,有意思的错误:死循环。
unsigned char 的取值范围是0~255,可是当加到255,再加1时,其值不是256,而是0,再次进入循环,一直无休止。
阅读(1128) | 评论(0) | 转发(0) |