Chinaunix首页 | 论坛 | 博客
  • 博客访问: 475231
  • 博文数量: 93
  • 博客积分: 5006
  • 博客等级: 上校
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-30 13:58
文章分类

全部博文(93)

文章存档

2012年(2)

2011年(68)

2010年(23)

分类: C/C++

2011-04-13 09:27:29

 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) |
给主人留下些什么吧!~~