- 相關推薦
這個程序執行后會有什么錯誤或者效果
#define MAX 255
int main()
{
unsigned char A[MAX],i;//i被定義為unsigned char
for (i=0;i<=MAX;i++)
A[i]=i;
}
解答:死循環加數組越界訪問(C/C++不進行數組越界檢查)
MAX=255
數組A的下標范圍為:0..MAX-1,這是其一..
其二.當i循環到255時,循環內執行:
A[255]=255;
這句本身沒有問題..但是返回for (i=0;i<=MAX;i++)語句時,
由于unsigned char的取值范圍在(0..255),i++以后i又為0了..無限循環下去.
struct name1{
char str;1 short x;2
int num;
}
struct name2{
char str;0
int num;4
short x;6
}
sizeof(struct name1)=8,sizeof(struct name2)=12
在第二個結構中,為保證num按四個字節對齊,char后必須留出3字節的空間;同時為保證整個結構的自然對齊(這里是4字節對齊),在x后還要補齊2個字節,這樣就是12字節,
這個程序執行后會有什么錯誤或者效果
,資料共享平臺
《這個程序執行后會有什么錯誤或者效果》(http://salifelink.com)。intel:
A.c 和B.c兩個c文件中使用了兩個相同名字的static變量,編譯的時候會不會有問題?這兩個static變量會保存到哪里(棧還是堆或者其他的)?
static的全局變量,表明這個變量僅在本模塊中有意義,不會影響其他模塊。
他們都放在數據區,但是編譯器對他們的命名是不同的。
【這個程序執行后會有什么錯誤或者效果】相關文章:
什么時候喝牛奶的效果是最佳09-19
微信小程序是什么10-28
延遲退休方案什么時候執行05-24
前什么后什么的成語大全06-18
中國舉辦G20峰會有什么意義?08-29
微信小程序是什么語言08-02
霜降后是什么節氣10-24
給孩子做親子鑒定需要什么程序09-18
化療后吃什么補血快07-30