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