📜  C |数组|问题11

📅  最后修改于: 2021-05-29 12:11:15             🧑  作者: Mango

C是否执行数组越界检查?以下程序的输出是什么?

int main()
{
    int i;
    int arr[5] = {0};
    for (i = 0; i <= 5; i++)
        printf("%d ", arr[i]);
    return 0;
}

(A)编译器错误:数组索引超出范围。
(B)总是打印0次五次,然后是垃圾值
(C)程序总是崩溃。
(D)程序可能会打印0次五次后跟垃圾值,或者如果地址(arr + 5)无效,则可能会崩溃。答案: (D)
解释:
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。