为了账号安全,请及时绑定邮箱和手机立即绑定

关于数组的小疑问

#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 回答

一个不确定值。

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于数组的小疑问

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号