關(guān)于數(shù)組的小疑問
#include <stdio.h>
int main()
{
? ? //第一種形式
? ? int arrFirst[3] = {1,2,3};
? ? //第二種形式
? ? int arrSecond[] = {1,2,3};
? ? //第三種形式
? ? int arrThird[3];
? ? arrThird[0]=1;
? ? arrThird[1]=2;
? ? arrThird[2]=3;
? ? //給arrThird數(shù)組每個元素初始化
? ? //輸出第一個數(shù)組中的第二個元素
? ? printf("%d\n", arrFirst[1]);
? ? //輸出第二個數(shù)組中的第二個元素
? ? printf("%d\n", arrSecond[1]);
? ? //輸出第三個數(shù)組中的第二個元素
? ? printf("%d\n", arrThird[1]);
? ? return 0;
}
為什么將劃線部分的代碼換成 printf("%d\n",arrSecond[22])
輸出結(jié)果為?4195480
而將代碼換成 printf("%d\n",arrSecond[222])
輸出結(jié)果為 0
呢?
2016-05-11
一個不確定值。
2015-04-10
那么輸出的這個值是否有一定的規(guī)律,或者說計算器優(yōu)勢根據(jù)什么輸出這個值的。為什么是4195480或者0,而不是1,2,3,4,5.....,是否可以從計算機物理上的計算機制或著其他方面解釋。
2015-04-09
arrSecond[22]指的是arrSecond這個數(shù)組中第23個元素,你只初始化了前3個元素,第23個是沒有初始化的,輸出的當(dāng)然是內(nèi)存中的一個不確定指。