c - 数组程序的输出

标签 c arrays

#include<stdio.h>

int main() {

    int arr[10] = { 11 , [9] = 22 };
    int i;
    arr[13] = 2452;
    arr[10] = 1212;

    for(i = 0; i < 15; i++) {
        printf("arr[%i] %i\n " , i, arr[i]);
    }

    return 0;
}

它生成的输出如下:

arr[0]       11    
arr[1]       0   
arr[2]       0    
arr[3]       0    
arr[4]       0    
arr[5]       0    
arr[6]       0
arr[7]       0    
arr[8]       0    
arr[9]       22    
arr[10]      10    
arr[11]     -1216806924   
arr[12]     0   
arr[13]     2452    
arr[14]    -1218431789

arr [10] 和 arr [13] 的输出我无法理解。

最佳答案

arr[] 大小为 10,因此 arr[0] 到 [9] 值有效。其他一切都是垃圾,你正在访问内存越界

关于c - 数组程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287744/

相关文章:

c - 如何在 c 中测试线程安全的实现?

php - SplFixedArray::fromArray - 与 native 固定数组一样高效的内存? PHP 5.3.5

javascript - 异步数组问题

android - 与 JNI 的共享库 : how to maintain global variables?

c - Unity UI Slider 改变UI Text

c - 优化计算组合并避免溢出

c - 哪种变量类型可以容纳 10^18 这样大的数字

php - 非常奇怪的 $_SESSION 行为

c# - 将较小的 n 维数组放入较大数组的最快方法(二维图形类比 : paint rectangle on canvas)

ruby - 迭代哈希数组并显示在 ruby​​ 的下拉列表中