#include<iostream>
using namespace std;
#define MAX 255
int main()
{
char p[MAX+1];
unsigned char ch;
for(ch=0;ch<=255;++ch)
{
p[ch]=ch;
cout<<ch<<"";
}
p[255]='\0';
cout<<ch<<endl;
}
上面这段程序错误的地方就在于unsigned char类型的取值范围了,unsigned char的取值范围是0~255,在for循环里面,当ch==255后再加一次才能跳出循环,但是加成256会越界,又会变成0,所以程序会死循环。