看個小程序,測測你細心不細心

#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,所以程序會死循環。

發佈了33 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章