描寫(xiě)大海的優(yōu)美段落匯集
下面這個(gè)程序執行后會(huì )有什么錯誤或者效果:

#define MAX 255
int main()
{
unsigned char A[MAX],i;
for (i=0;i<=MAX;i++)
A[i]=i;
}
解答:MAX=255,數組A的下標范圍為:0..MAX-1,這是其一,其二 當i循環(huán)到255時(shí),循環(huán)內執行: A[255]=255;這句本身沒(méi)有問(wèn)題,但是返回for (i=0;i<=MAX;i++)語(yǔ)句時(shí),由于unsigned char的取值范圍在(0..255),i++以后i又為0了..無(wú)限循環(huán)下去.
注:char類(lèi)型為一個(gè)字節,取值范圍是[-128,127],unsigned char [0 ,255]
拓展閱讀:
語(yǔ)法錯誤不等于不能執行,能執行不等于結果正確....
結論:
越界是肯定的
內存是很大的
舉個(gè)例子吧:
int main(...){
int a =0;
int b[3] = 0;
b[3] = 1;
}
/pic/p>
/pic/p>
越界雖然會(huì )影響其它內存位置的變量,但只能影響本進(jìn)程空間的內存,對其他程序沒(méi)有影響,除非你的越界已經(jīng)延伸到了環(huán)境變量的位置
unix/linux下可能的錯誤(其他的不知道):
SIGBUS 總線(xiàn)錯誤
SIGSEGV 段地址錯誤
【描寫(xiě)大海的優(yōu)美段落】相關(guān)文章:
描寫(xiě)大海的優(yōu)美段落摘抄190則04-09
2024關(guān)于描寫(xiě)大海的優(yōu)美段落(精選190段)10-09
描寫(xiě)大海景色的優(yōu)美段落110句09-12
描寫(xiě)大海的段落140句09-09
描寫(xiě)大海的段落推薦140句12-11
描寫(xiě)小溪的優(yōu)美段落02-20
描寫(xiě)日落的優(yōu)美段落11-27