学长就是帅
2015-04-09 19:36
#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数组每个元素初始化
//输出第一个数组中的第二个元素
printf("%d\n", arrFirst[1]);
//输出第二个数组中的第二个元素
printf("%d\n", arrSecond[1]);
//输出第三个数组中的第二个元素
printf("%d\n", arrThird[1]);
return 0;
}
为什么将划线部分的代码换成 printf("%d\n",arrSecond[22])
输出结果为 4195480
而将代码换成 printf("%d\n",arrSecond[222])
输出结果为 0
呢?
一个不确定值。
那么输出的这个值是否有一定的规律,或者说计算器优势根据什么输出这个值的。为什么是4195480或者0,而不是1,2,3,4,5.....,是否可以从计算机物理上的计算机制或着其他方面解释。
arrSecond[22]指的是arrSecond这个数组中第23个元素,你只初始化了前3个元素,第23个是没有初始化的,输出的当然是内存中的一个不确定指。
C语言入门
926207 学习 · 20797 问题
相似问题