关于数组的小疑问

来源:6-1 数组初体验

学长就是帅

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

呢?


写回答 关注

3回答

  • qq_隐匿_03229380
    2016-05-11 15:13:25

    一个不确定值。

  • 学长就是帅
    2015-04-10 18:51:13

    那么输出的这个值是否有一定的规律,或者说计算器优势根据什么输出这个值的。为什么是4195480或者0,而不是1,2,3,4,5.....,是否可以从计算机物理上的计算机制或着其他方面解释。

  • DanDanHang
    2015-04-09 20:02:59

    arrSecond[22]指的是arrSecond这个数组中第23个元素,你只初始化了前3个元素,第23个是没有初始化的,输出的当然是内存中的一个不确定指。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题